一、pom文件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding><!-- 字符集编码 --> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>fengcan.RunApp</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef> jar-with-dependencies </descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>
两个插件:
<artifactId>maven-compiler-plugin</artifactId>
<artifactId>maven-assembly-plugin</artifactId>
1、其中maven-compiler-plugin在这里的功能主要是配置jdk版本和跳过测试代码(src/test/java),如果同其他方式代替则可省略maven-compiler-plugin。
2、而maven-assembly-plugin,插件才是打包可运行jar包的主要插件。<mainClass>fengcan.RunApp</mainClass>是指定运行主类的配置。如下图:
二、运行方式
在有pom文件的路径下打开命令行工具:
1、mvn -verison,检查mvn是否安装成功
2、mvn assembly:assembly,打包。生成两个文件,一个有引用的外部包,一个没有。
三、指定jdk和编码的两种方式
如果不指定编码,maven会默认使用jdk1.5,那么使用1.5以上的代码会报错。
1、在maven-compiler-plugin里指定,在configuration里,指定source和target和encoding
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding><!-- 字符集编码 --> </configuration> </plugin>
2、在properties里指定
<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>produce</groupId> <artifactId>produce</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> </project>
四、跳过test代码(src/test/java)的两种方式
1、在maven-compiler-plugin里指定,在configuration里,指定skip
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <skip>true</skip> </configuration> </plugin>
2、使用命令指定
添加:-DskipTests 或 -Dmaven.test.skip=true
如:
mvn clean install -DskipTests
mvn clean install -Dmaven.test.skip=true
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding><!-- 字符集编码 --><skip>true</skip></configuration></plugin>