2

是否有一种万无一失的方法可以使用 Maven 发布插件插件在 Jenkins 作业中为多模块 Maven 反应器项目生成聚合Javadocs?

我的问题是,在maven-release-plugin更新了所有 POM 版本之后,下一个构建将中断,因为javadoc:aggregate反应堆 POM 失败,因为模块工件的引用版本尚不存在。

我的解决方法是maven-javadoc-plugin使用配置文件在禁用的情况下运行一次构建。然后在重新启用后maven-javadoc-plugin,下一个构建将通过。

这是相当黑客,我想知道我是否只是缺少任何简单的东西......

这是我maven-javadoc-plugin在反应堆 POM 中的配置:

    <profile>
        <id>javadoc</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>aggregate-javadoc</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>aggregate</goal>
                            </goals>
                        </execution>
                    </executions>
                    <inherited>false</inherited>
                </plugin>
            </plugins>
        </build>
    </profile>
4

1 回答 1

0

我刚刚遇到同样的问题,在玩了一会儿之后,结果发现使用aggregate-jar目标可以正常工作(它生成基本的聚合 javadoc 和另外的 jar 文件,但后者可以被丢弃)。

我认为这是由目标执行绑定到的不同默认生命周期阶段以及在generate-sources阶段的情况下额外执行阶段引起的aggregate

于 2016-09-28T11:21:41.137 回答