我是Maven的新手。我正在尝试打包我的项目。但是,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有谁知道怎么运行包没有测试?
答案 0 :(得分:483)
使用
运行mavenmvn -Dmaven.test.skip=true package
答案 1 :(得分:151)
只需提供下面提到的命令,它将忽略执行测试用例,
mvn package -DskipTests
答案 2 :(得分:45)
如果您不想设置命令行arg,可以将此插件配置添加到pom中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
答案 3 :(得分:35)
请注意,-Dmaven.test.skip会阻止Maven构建测试jar工件。
如果您想跳过测试但是按照正常构建使用创建工件:
-Dmaven.test.skip.exec
答案 4 :(得分:25)
如果您在Windows Powershell中尝试此操作,则会收到此错误:
[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
答案 5 :(得分:24)
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
也是一种添加到pom文件
的方法答案 6 :(得分:18)
您可以将maven.test.skip
标志作为JVM参数传递,以便在运行包阶段(以及默认生命周期中的前一个阶段)时跳过运行测试:
mvn package -Dmaven.test.skip=true
您也可以单独将skipTests
标志传递给mvn可执行文件。如果要在POM中包含此信息,可以创建新的配置文件,以便将maven-surefire-plugin
配置为skip tests。
答案 7 :(得分:16)
您只需要提供
-Dmaven.test.skip
您不再需要附加=true
。
答案 8 :(得分:10)
在这里回答一个古老且被接受的问题。如果要避免始终传递命令行参数,可以在pom.xml中添加它:
<properties>
<skipTests>true</skipTests>
</properties>
答案 9 :(得分:6)
进行Maven构建和跳过测试的简写形式是:
MVN全新安装-DskipTests
答案 10 :(得分:4)
测试应始终[1]在包之前运行。如果你需要关闭测试,那你就做错了。换句话说,你正试图解决错误的问题。弄清楚你的问题究竟是什么,并提出这个问题。这听起来像是与数据库有关。
[1]当您需要为本地开发使用快速生成工件时,可能会跳过测试,但一般情况下,创建工件应始终遵循成功的测试运行。
答案 11 :(得分:3)
下面两个命令最有用
mvn clean package -Dmaven.test.skip=true
mvn clean package -DskipTests
谢谢
答案 12 :(得分:2)
您可以将-DskipTests
或-Dmaven.test.skip=true
添加到任何mvn
命令中以跳过测试。您的情况如下:
mvn package -DskipTests
OR
mvn package -Dmaven.test.skip=true
答案 13 :(得分:1)
显然,你这样做是错误的。测试是预包装的重要部分。你不应该忽略或跳过它,而是以正确的方式去做。尝试更改插入数据的数据库(如test_db)。设置可能需要一段时间。为了确保永久使用此数据库,您应该在测试结束时删除所有数据。 JUnit4有注释,方便您使用。使用@Before,@ After @Test注释获取正确的方法。你需要花一些时间,但它是值得的!
答案 14 :(得分:1)
仅mvn clean install -DskipTests
答案 15 :(得分:1)
答案 16 :(得分:0)
mvn clean install -Dmaven.test.skip=true
-Dskip
不起作用,为我工作。
答案 17 :(得分:0)
mvn package -Dmaven.test.skip=true
答案 18 :(得分:0)
最好也是最简单的方法,在“Maven Project”窗口的IntelliJ Idea中,只是不要点击测试按钮。我希望,我帮助过你。祝你有个美好的一天:)
答案 19 :(得分:0)
在Intellij中,转到View - &gt;工具Windows - &gt;选择Maven项目。 在Lifecyle下拉列表中,右键单击包 - &gt;选择创建'你的项目[包]'......
在命令行字段中输入此值:package -Dmaven.test.skip=true -f pom.xml
。单击“应用”,“运行配置”下拉菜单应与您创建的自定义maven命令一起显示。
答案 20 :(得分:0)
对于不感染maven测试的maven软件包:
<properties>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
</properties>