为多项目聚合 Javadocs

例如,考虑以下目录结构:

Project
  |-- pom.xml
  |-- Module1
  |   `-- pom.xml
  |-- Module2
  |   `-- pom.xml
  `-- Module3
    `-- pom.xml

使用 <aggregate/> 参数(已弃用

注意<aggregate/>参数自 2.5 起已弃用。请使用聚合目标代替。

< 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> (or <build>)
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.4</version>
        <configuration>
          ...
          <aggregate>true</aggregate>
          ...
        </configuration>
      </plugin>
    </plugins>
    ...
  </reporting> (or </build>)
  ...
</project>

使用聚合目标

<aggregate/>参数不包括使用build-helper:add-source定义的生成源目录。在这种情况下,您需要使用聚合目标和测试聚合目标。您可以在 <build/> 元素(使用 <execution/> 标签)或 <reporting/> 元素(使用 <reportSet/> 标签)中定义这些目标,如下所示。有关更多信息,请参阅选择性 Javadocs 报告页面

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.4</version>
        <configuration>
          <!-- Default configuration for all reports -->
          ...
        </configuration>
        <executions>
          <execution>
            <id>aggregate</id>
            <goals>
              <goal>aggregate</goal>
            </goals>
            <phase>site</phase>
            <configuration>
              <!-- Specific configuration for the aggregate report -->
              ...
            </configuration>
          </execution>
          ...
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>
<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.4</version>
        <configuration>
          <!-- Default configuration for all reports -->
          ...
        </configuration>
        <reportSets>
          <reportSet>
            <id>non-aggregate</id>
            <configuration>
              <!-- Specific configuration for the non aggregate report -->
              ...
            </configuration>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
          <reportSet>
            <id>aggregate</id>
            <configuration>
              <!-- Specific configuration for the aggregate report -->
              ...
            </configuration>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
          ...
        </reportSets>
      </plugin>
      ...
    </plugins>
  </reporting>
  ...
</project>

Javadoc 插件包含几个与聚合器项目一起使用的聚合目标。以下是所有汇总目标的完整列表: