Maven Package跳过测试的两种方法及区别
最近在工作中需要打包项目,直接使用了Maven Package的命令,但是在编译测试的时候耗时很长,这个时候就想着有没有能跳过测试的方法。-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。第一种方法:使用 mvn package -D...
最近在工作中需要打包项目,直接使用了Maven Package的命令,但是在编译测试的时候耗时很长,这个时候就想着有没有能跳过测试的方法。
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
第一种方法: 使用 mvn package -DskipTests 跳过单元测试,但是会继续编译。如果没时间修改单元测试的bug,或者单元测试编译错误,则使用第二种方法。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
第二种方法:使用maven.test.skip,不但跳过单元测试的运行,也跳过测试代码的编译。
mvn package -Dmaven.test.skip=true
也可以在pom.xml中加入:
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
默认idea的跳过测试采用的是第一种,所以仍然会编译代码,如果想不执行测试用例,也不编译测试用例类,那么必须采用第二种方式在pom中加上skip为true,这样才能跳过编译
说了那么多,终极方法:maven 工具栏右上角有个小闪电 点击一下(感谢评论区的建议)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)