**本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接 **
问题:
我正在尝试打包我的项目。但是,它会在打包前自动运行的测试。这个测试会向数据库插入数据。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何在打包前不自动测试吗?
------------------------------以下为回答,按支持票数排序----------------------------------
回答1(支持票数411):
执行maven命令:mvn package -Dmaven.test.skip=true
回答2(支持票数200):
只需要使用下面提供的命令,就可以不执行测试(当仍会编译测试代码):
mvn package -DskipTests
回答3(支持票数52):
如果您不想设置命令行参数,可以将此插件配置添加到pom中:
js<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
回答4(支持票45):
请注意,-Dmaven.test.skip 会阻止Maven构建test-jar artifact。
如果您想跳过测试,除非按照常规构建方式创建artifacts,请使用:
-Dmaven.test.skip.exec
回答5(支持票36):
如果你尝试在Windows Powershell 上执行mvn package -Dmaven.test.skip=true,将会报如下错误:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
原因是,在Powershell中 "-" 有特殊的含义,这样会导致maven报错,解决方式是在命令前加一个"`"符号,如下所示:
mvn \`-Dmaven.test.skip=true install
引用: kuniganotas.wordpress.com/2011/08/12/…
回答6(支持票28):
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
也是向pom文件中添加配置