如何在maven pom.xml文件中设置Java编译器版本

如何在maven pom.xml文件中设置Java编译器版本,第1张

1,生成3个目录/lib,/conf,/bin目录

2,把所有的jar目录编译、拷贝到/lib目录(包括maven的jar包和lib目录下的jar,以及编译的jar包)

3,把所有的启动脚本从工程根目录拷贝到/bin目录

4,把所有的配置文件从src/main/resources拷贝到/conf

pom.xml 配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>test</groupId>

<artifactId>test.common</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>jar</packaging>

<name>test.common</name>

<url>http://maven.apache.org</url>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

<dependencies>

<!-- 这里省略n行 -->

</dependencies>

<build>

<sourceDirectory>src/main/java</sourceDirectory>

<resources>

<!-- 把src/main/resources目录下所有的文件拷贝到conf目录中 -->

<resource>

<directory>src/main/resources</directory>

<targetPath>${project.build.directory}/conf</targetPath>

</resource>

<!-- 把lib目录下所有的文件拷贝到lib目录中

(可能有些jar包没有办法在maven中找到,需要放在lib目录中) -->

<resource>

<directory>lib</directory>

<targetPath>${project.build.directory}/lib</targetPath>

</resource>

<!-- 把放在根目录下的脚本文件.sh,.bat拷贝到bin目录中 -->

<resource>

<directory>.</directory>

<includes>

<include>**/*.sh</include>

<include>**/*.bat</include>

</includes>

<targetPath>${project.build.directory}/bin</targetPath>

</resource>

</resources>

<plugins>

<!-- 用于编译的plugin -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.1</version>

<configuration>

<fork>true</fork>

<defaultLibBundleDir>lib</defaultLibBundleDir>

<source>1.7</source>

<target>1.7</target>

<encoding>UTF-8</encoding>

<!-- 如果配置了JAVA_HOME,下面应该可以不用配 -->

<executable>C:\Program Files (x86)\Java\jdk1.8.0_91\bin\javac.exe</executable>

</configuration>

</plugin>

<!-- 用于生成jar包的plugin -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-jar-plugin</artifactId>

<version>2.6</version>

<configuration>

<!-- 把生成的jar包放在lib目录下(和其他所有jar包一起) -->

<outputDirectory>${project.build.directory}/lib</outputDirectory>

<archive>

<manifest>

<addClasspath>true</addClasspath>

<classpathPrefix>lib/</classpathPrefix>

</manifest>

</archive>

<excludes>

<!-- 排除掉一些文件,不要放到jar包中,

这里是为了排除掉src/main/resources中的文件(它们应该放到conf目录)

这里只能指定要排除的目标文件,而不能指定源文件,虽然不够完美,但是基本能达到目的。 -->

<exclude>*.xml</exclude>

<exclude>*.properties</exclude>

</excludes>

</configuration>

</plugin>

<!-- 用于拷贝maven依赖的plugin -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-dependency-plugin</artifactId>

<version>2.10</version>

<executions>

<execution>

<id>copy-dependencies</id>

<phase>package</phase>

<goals>

<goal>copy-dependencies</goal>

</goals>

<configuration>

<!-- 把依赖的所有maven jar包拷贝到lib目录中(这样所有的jar包都在lib目录中) -->

<outputDirectory>${project.build.directory}/lib</outputDirectory>

</configuration>

</execution>

</executions>

</plugin>

<!-- 用于拷贝resource的plugin -->

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-resources-plugin</artifactId>

<version>2.7</version>

<configuration>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<!-- 配置生成源代码jar的plugin -->

<plugin>

<artifactId>maven-source-plugin</artifactId>

<version>2.4</version>

<configuration>

<attach>true</attach>

<encoding>UTF-8</encoding>

<!-- 配置源代码jar文件的存放路径,和其他jar文件一起放在lib目录 -->

<outputDirectory>${project.build.directory}/lib</outputDirectory>

</configuration>

<executions>

<execution>

<phase>compile</phase>

<goals>

<goal>jar</goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

</build>

</project>

然后执行maven package打包。如果是eclipse,在Project Explorer->Run As –>Maven Build… –>在Goals中输入package,点Run进行编译。

步骤:

1.cmd命令进入该jar包所在路径

2.执行命令:

mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar

-DgroupId=org.apache.lucene -DartifactId=lucene-queryparser

-Dversion=4.6.1 -Dpackaging=jar

其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。

比如:

mvn install:install-file -Dfile=hadoop-hdfs-2.2.0.jar

-DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -D

-Dpackaging=jar

就是指把hadoop-hdfs-2.2.0.jar安装到repository\org.apache.hadoop\hadoop-hdfs\2.2.0目录下,执行完命令后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:

<dependency>

<groupId>org.apache.hadoop</groupId>

<artifactId>hadoop-hdfs</artifactId>

<version>2.2.0</version>

</dependency>

注意在每个参数前有个-D

二、怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?

1、首先将要添加的jar包复制到项目中的libs文件夹下

2、然后在pom.xml中添加如下代码:

[html] view plain copy

<dependency>

<groupId>htmlunit</groupId>

<artifactId>htmlunit</artifactId>

<version>2.21-OSGi</version>

<scope>system</scope>

<systemPath>${project.basedir}/libs/htmlunit-2.21-OSGi.jar</systemPath>

</dependency>

注意scope元素和systemPath元素,其中systemPath元素指定的就是jar包在项目中的路径。

注意libs文件夹下的这个jar包不需要Add to Build Path

先创建一个基于maven的项目,点击打开pom.xml文件 点击Dependencies标签页,然后点击Dependencies中的add按钮,输入我们想添加的jar包名字,就会出现下图中所示,它会把对应名称的所有版本jar包列出来 点击OK之后,在pom.xml会带回jar包的信息,...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11633046.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存