如何在不运行它们的情况下使maven在本地存储库中安装测试包

时间:2014-04-25 12:57:15

标签: java maven ant

这似乎是一个简单的问题,但有很多答案,但它们都没有实际效果。人们总是建议使用-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>

1 个答案:

答案 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和编译器完全忽略。