使用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>
答案 0 :(得分:0)
我刚刚遇到同样的问题,经过一段时间的玩法后,事实证明使用aggregate
目标效果很好(它生成基本的聚合javadoc和另外的jar文件,但后者可以是丢弃)。
我认为这是由于绑定目标执行的不同默认生命周期阶段以及generate-sources
阶段package
阶段的{{1}}阶段的额外执行造成的:
javadoc:aggregate:在执行之前调用生命周期阶段{{1}}的执行。
javadoc:aggregate-jar:默认情况下绑定到生命周期阶段:{{1}}。