一、pom文件
UTF-8
1.8
1.8
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.8
1.8
UTF-8
true
org.apache.maven.plugins
maven-assembly-plugin
fengcan.RunApp
jar-with-dependencies
两个插件:
maven-compiler-plugin
maven-assembly-plugin
1、其中maven-compiler-plugin在这里的功能主要是配置jdk版本和跳过测试代码(src/test/java),如果同其他方式代替则可省略maven-compiler-plugin。
2、而maven-assembly-plugin,插件才是打包可运行jar包的主要插件。fengcan.RunApp是指定运行主类的配置。如下图:
二、运行方式
在有pom文件的路径下打开命令行工具:
先通过:mvn -verison,检查mvn是否安装成功
1、mvn clean assembly:single,该命令只打包出一个可运行的jar。
如下图:target目录下
2、mvn clean assembly:single,该命令相当于mvn package和mvn assembly:single。此时mvnpackage会生成一个只用编译后classes的文件。
如下图:mvn clean package命令结果:
而mvn clean assembly:assembly,则是:
3、如何通过mvn clean package来打包
修改pom文件
org.apache.maven.plugins
maven-assembly-plugin
fengcan.RunApp
jar-with-dependencies
make-assembly
package
single
新加了:
make-assembly
package
single
该配置表示在执行package命令时,执行assembly里的single命令。当然也可将single改成assembly,但是没有意义,只会增加打包步骤,结果一样。
然后执行:mvn clean package
三、指定jdk和编码的两种方式
如果不指定编码,maven会默认使用jdk1.5,那么使用1.5以上的代码会报错。
1、在maven-compiler-plugin里指定,在configuration里,指定source和target和encoding
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.8
1.8
UTF-8
2、在properties里指定
4.0.0
produce
produce
0.0.1-SNAPSHOT
UTF-8
1.8
1.8
四、跳过test代码(src/test/java)的两种方式
1、在maven-compiler-plugin里指定,在configuration里,指定skip
org.apache.maven.plugins
maven-compiler-plugin
3.1
true
2、使用命令指定
添加:-DskipTests 或 -Dmaven.test.skip=true
如:
mvn clean package -DskipTests
mvn clean package -Dmaven.test.skip=true