在Jenkins上聚合Javadocs和Maven Release插件

时间:2015-11-29 12:34:45

标签: maven jenkins maven-release-plugin maven-javadoc-plugin

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

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

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

这是一个黑客,我想知道我是否只是错过了任何简单的......

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

    <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>

1 个答案:

答案 0 :(得分:0)

我刚刚遇到同样的问题,经过一段时间的玩法后,事实证明使用aggregate目标效果很好(它生成基本的聚合javadoc和另外的jar文件,但后者可以是丢弃)。

我认为这是由于绑定目标执行的不同默认生命周期阶段以及generate-sources阶段package阶段的{{1}}阶段的额外执行造成的: