这是我在多模块项目中的父pom.xml
文件(部分文件):
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</build>
...
此插件在所有子模块中继承,我不认为这是一种正确的方法。当我正在运行mvn javadoc:aggregate
时,文档会在target/site/apidoc
中生成,但日志中充满了警告:
...
[WARNING] Removing: aggregate from forked lifecycle,
to prevent recursive invocation.
...
我做错了什么?
答案 0 :(得分:10)
您需要为此插件启用聚合:
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<aggregate>true</aggregate> <!-- this enables aggretation -->
</configuration>
</plugin>
在命令行上键入:
mvn javadoc:aggregate
编辑:
好的,我做了一些挖掘maven插件的jira,发现所有的javadoc插件mojos都是用@aggregator注释的。但是maven的聚合器似乎存在问题,问题已归档here
这似乎是maven的聚合器的阻塞问题,因为一些插件,例如三叶草不会跑。
总结一下,你没有做错任何事
只需切换回不使用@aggregator mojo注释的早期版本的maven-javadoc-plugin,你就不会收到警告(除非你使用的是早期版本中没有的javadoc插件的某些功能)
另外,如果您将javadoc插件作为报告运行,则忽略@aggregator。