我正设法把我的项目打包。但是,在执行打包之前,它会自动运行测试。测试在数据库中插入一些内容。这不是我想要的,我需要避免在打包应用程序时运行测试。有人知道如何运行没有测试的包吗?


当前回答

mvn clean install -DskipTests

其他回答

如果你在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 

参考:http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/

mvn clean install -Dmaven.test.skip=true

工作为我,因为-Dskip不再工作了。

进行maven构建和跳过测试的一个简写是:

mvn 全新安装 -DskipTests

你可以传递maven.test.skip标志作为JVM参数,当包阶段(以及默认生命周期中的前一个阶段)运行时跳过运行测试:

mvn package -Dmaven.test.skip=true

您还可以单独将skipTests标志传递给mvn可执行文件。如果您希望在POM中包含此信息,可以创建一个新的配置文件,在其中配置maven-surefire-plugin以跳过测试。

运行maven

mvn package -Dmaven.test.skip