我想在使用命令
运行maven release plugin时跳过集成测试mvn -B -DskipITs release:prepare release:perform
它似乎不是这样工作的。相同的选项-DskipITs
适用于mvn install/deploy
。我不想使用-Dmaven.test.skip=true
,因为只需要忽略集成测试,而不是单元测试。实现这一目标的最佳方法是什么?
修改:
-Darguments=-DskipITs
适用于release:prepare
,但令人惊讶的是 NOT 适用于release:perform
。尝试-Darguments=-Dmaven.test.skip=true
,也不起作用。
尝试在pom中为release插件添加<arguments>skipITs</arguments>
,但它会忽略命令行中提供的所有其他-Darguments
。我不能在插件配置中配置所有内容,因为有些选项会动态获取环境变量。
答案 0 :(得分:6)
根据how to make maven release plugin skip tests,您似乎需要-DskipITs
和-Darguments=-DskipITs
。一种是跳过编译IT,另一种是跳过运行IT。
答案 1 :(得分:2)
使用Maven Profiles。
将以下内容添加到您的pom:
<profiles>
<profile>
<id>ItsReleaseTime</id>
<build>
<plugins>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
并调用命令:
mvn -B -P ItsReleaseTime release:prepare release:perform
答案 2 :(得分:0)
您可以在pm.xml
文件中添加一些设置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>