【问题标题】:How do I avoid an empty test JAR in Maven?如何避免 Maven 中的空测试 JAR?
【发布时间】:2017-12-03 01:53:17
【问题描述】:

我已将 Maven 配置为为所有构建(快照和发布)创建测试 JAR,如下所示:

        <plugin>
            <!-- generate test-jar artifacts for creating test-test dependencies 
                across modules -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

这可行,但我想修复一个奇怪的行为:Maven 现在尝试为带有包装 pom(即父 POM)的模块创建一个测试 JAR。这只是一个小麻烦,但有没有简单的方法可以解决这个问题?

它不会为这些模块创建主 JAR。也许这是test-jar 目标中的错误?

【问题讨论】:

  • 我假设你的父母有那个插件定义?
  • 你能显示完整的 pom 吗?
  • 有一个标志 "skipIfEmpty": maven.apache.org/plugins/maven-jar-plugin/… - 这可能有助于避免创建空的 jar 文件
  • @khmarbaise:是的,它在父 POM 中
  • @Jens 没有。如果你想测试它,只需添加一个带有&lt;packaging&gt;pom&lt;/packaging&gt;的组/工件/版本标题

标签: maven maven-jar-plugin


【解决方案1】:

skipIfEmpty does the trick,向wemu致敬:

        <plugin>
            <!-- generate test-jar artifacts for creating test-test dependencies 
                across modules -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>

                    <configuration>
                        <skipIfEmpty>true</skipIfEmpty>
                    </configuration>
                </execution>
            </executions>
        </plugin>

文档:https://maven.apache.org/plugins/maven-jar-plugin/test-jar-mojo.html#skipIfEmpty

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 2015-05-07
    • 2011-01-12
    • 1970-01-01
    相关资源
    最近更新 更多