例如,考虑以下目录结构:
Project
|-- pom.xml
|-- Module1
| `-- pom.xml
|-- Module2
| `-- pom.xml
`-- Module3
`-- pom.xml
<aggregate/> 参数可用于为多模块项目生成 javadocs。它提供了为整个项目(所有模块)生成一份 javadoc 报告或为每个模块生成一份 javadoc 报告的选项。
当您从 Project 目录执行 javadoc:javadoc 并将 aggregate 设置为true 时,将在 Project 的目标目录中创建一个 javadoc 报告,其中包含 Project 模块的所有 javadoc。如果 aggregate 设置为false (默认),Module1 的目标目录中将生成 Module1 的 javadoc 报告,Module2 的目标目录中将生成 Module2 的 javadoc 报告,Module3 的 javadoc 报告将在Module3 的目标目录。
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
...
<aggregate>true</aggregate>
...
</configuration>
</plugin>
</plugins>
...
</reporting>
...
</project>
<aggregate/> 参数不包括使用build-helper:add-source定义的生成源目录 。在这种情况下,您需要使用聚合 目标和测试聚合 目标。您还可以定义几个 <reportSet/> ,如下所示:
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>non-aggregate</id>
<configuration>
...
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<configuration>
...
</configuration>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
...
</project>