如何让maven在本地repo中安装测试包而不运行它们



这似乎是一个简单的问题,有很多答案,但没有一个真正有效。人们总是建议使用-Dmaven.test.skip=true或-DskipTests,但这些选项完全跳过了测试,而且从未移动到本地repo,所以当我安装其他模块时,这些模块取决于本地repo中是否存在测试,它们会失败。

我需要测试在与主类相同的组id和工件id下进行,只是具有不同的分类器和范围,这样我就可以在其他项目中引用它们,比如这个

    <dependency>
        <groupId>myGroupId</groupId>
        <artifactId>myArtificatId</artifactId>
        <version>4.0-SNAPSHOT</version>
        <classifier>tests</classifier>
        <scope>test</scope>
    </dependency>

我想你想要这个:

   <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分类的罐子。请注意,如果您使用-DskipTests,那么surefire和failsafe将跳过测试的执行,而如果您使用-Dmaven.test.skip=true,则surefire、failsafe和编译器将完全忽略测试。

相关内容

  • 没有找到相关文章

最新更新