这似乎是一个简单的问题,但有很多答案,但它们都没有实际效果。人们总是建议使用-Dmaven.test.skip = true或-DskipTests但这些选项完全跳过测试并且它们永远不会移动到本地仓库,所以当我安装其他模块时,这些模块依赖于本地仓库中测试的存在他们失败了。
我需要测试在相同的组ID和工件ID下作为主类,只有不同的分类器和范围,所以我可以在其他项目中引用它们
<dependency>
<groupId>myGroupId</groupId>
<artifactId>myArtificatId</artifactId>
<version>4.0-SNAPSHOT</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
答案 0 :(得分:1)
我想你想要这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
这将打包-test
分类的jar。请注意,如果您使用-DskipTests
,则surefire和failsafe将跳过测试的执行,而如果您使用-Dmaven.test.skip=true
测试将被surefire,failsafe和编译器完全忽略。