java - 如何让maven在本地仓库中安装测试包而不运行它们

标签 java maven ant

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

我需要测试在与主类相同的组 id 和 Artifact 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 分类 jar。请注意,如果您使用-DskipTests,surefire和failsafe将跳过测试的执行,而如果您使用-Dmaven.test.skip=true测试将完全被忽略。被surefire、failsafe和编译器忽略。

关于java - 如何让maven在本地仓库中安装测试包而不运行它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23293852/

相关文章:

java - 如何将 Dimension 值转换为字符串或整数

maven - 错误 o.s.k.listener.LoggingErrorHandler - 处理时出错

java - 我用 ant 构建的 jar 文件双击时无法运行

java - Apache HttpClient POST 上传文件不适用于 MultipartEntityBuilder 上传

Java错误: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

java - 如何像在 Eclipse 中一样在 IntelliJ 中创建可运行的 JAR

gradle - 通过Gradle运行时删除Ant日志前缀

java - 如何通过 Maven Surefire 插件运行选定的 suiteXmlFile

maven - Mule 安全属性占位符 Maven 设置

java - 以编程方式从 ant-task 中检索返回码