我是Maven的新手.我正在尝试打包我的项目.但是,它会自动运行测试.测试在数据库中插入一些内容.这不是我想要的,我需要避免在打包应用程序时运行测试.有谁知道怎么运行包测试?
Gio*_*sas 526
用maven运行maven
mvn -Dmaven.test.skip=true package
Run Code Online (Sandbox Code Playgroud)
小智 162
只需提供下面提到的命令,它将忽略执行测试用例,
mvn package -DskipTests
Run Code Online (Sandbox Code Playgroud)
smp*_*p7d 45
如果您不想设置命令行arg,可以将此插件配置添加到您的pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
Chr*_*ach 37
请注意,-Dmaven.test.skip会阻止Maven构建测试jar工件.
如果您想跳过测试但是按照正常构建使用创建工件:
-Dmaven.test.skip.exec
Run Code Online (Sandbox Code Playgroud)
Ros*_*sim 28
如果您在Windows Powershell中尝试此操作,则会收到以下错误:
[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...
Run Code Online (Sandbox Code Playgroud)
这样做的原因是,在Powershell中," -"具有特殊含义,并且它会导致maven出现问题.
解决方案是在前面添加一个反引号(`),就像这样.
mvn `-Dmaven.test.skip=true install
Run Code Online (Sandbox Code Playgroud)
参考:http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/
vim*_*hna 26
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
Run Code Online (Sandbox Code Playgroud)
也是一种在pom文件中添加的方法
Vin*_*lds 18
您可以将maven.test.skip标志作为JVM参数传递,以便在运行包阶段(以及默认生命周期中的先前阶段)时跳过运行测试:
mvn package -Dmaven.test.skip=true
Run Code Online (Sandbox Code Playgroud)
您还可以skipTests单独将标志传递给mvn可执行文件.如果你想在你的POM这些信息,你可以创建一个新的配置文件,您可以配置maven-surefire-plugin以跳过测试.
anu*_*ava 10
在这里回答一个古老而被接受的问题.如果要避免始终传递命令行参数,可以在pom.xml中添加:
<properties>
<skipTests>true</skipTests>
</properties>
Run Code Online (Sandbox Code Playgroud)
Lov*_*uri 10
你可以使用任何 Maven 目标,例如package / clean install
解决方案:1(包目标)
mvn package -Dmaven.test.skip
mvn package -Dmaven.test.skip=true
mvn package -DskipTests
Run Code Online (Sandbox Code Playgroud)
解决方案:2(全新安装目标)
mvn clean install -Dmaven.test.skip
mvn clean install -Dmaven.test.skip=true
mvn clean install -DskipTests
Run Code Online (Sandbox Code Playgroud)
解决方案:3(在pom.xml文件中)
您可以在pom文件中使用maven-skipping-tests,无需提供DskipTests、Dmaven.test.skip等属性
Pom.xml
<properties>
<java.version>1.8</java.version>
<maven.test.skip>true</maven.test.skip>
</properties>
Run Code Online (Sandbox Code Playgroud)
稍后您可以使用maven命令:mvn clean install/mvn package
参考: https: //www.baeldung.com/maven-skipping-tests
您可以在任一命令中添加-DskipTests或跳过测试。您的情况如下所示:-Dmaven.test.skip=truemvn
mvn package -DskipTests
Run Code Online (Sandbox Code Playgroud)
要么
mvn package -Dmaven.test.skip=true
Run Code Online (Sandbox Code Playgroud)
下面两个命令最有用
mvn clean package -Dmaven.test.skip=true
mvn clean package -DskipTests
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
201835 次 |
| 最近记录: |