为多模块项目聚合 JXR 报告

JXR Plugin的aggregate参数可以用来为多模块项目生成JXR文件。使用此参数,您可以选择为整个项目(所有模块)生成一组已编译的 JXR 文件,或者为每个模块生成一组 JXR 文件。

例如,您具有以下目录结构:

Project
|-- pom.xml
|-- Module1
|   |-- src
|   |   `-- main
|   |       `-- java
|   |           `-- com
|   |               `-- module1
|   |                   `-- app
|   |                       `-- Module1App.java
|   `-- pom.xml
|-- Module2
|   |-- src
|   |   `-- main
|   |       `-- java
|   |           `-- com
|   |               `-- module2
|   |                   `-- app
|   |                       `-- Module2App.java
|   `-- pom.xml
`-- Module3
    |-- src
    |   `-- main
    |       `-- java
    |           `-- com
    |               `-- module3
    |                   `-- app
    |                       `-- Module3App.java
    `-- pom.xml

并且您的 中有以下配置pom.xml

<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>3.2.0</version>
         <reportSets>
            <reportSet>
              <id>aggregate</id>
              <reports>
              <report>aggregate</report>
              <report>test-aggregate</report>
             </reports>
            </reportSet>
           </reportSets>
       </plugin>
    </plugins>
  ...
  </reporting>
  ...
</project>

当您mvn site从父目录(即Project )执行时,将在Project的目标目录中创建一组 JXR 文件,其中包含项目子模块的所有 JXR 文件。否则将在 Module1 的目标目录中生成一组Module1JXR文件,在Module2的目标目录中生成另一组Module2的 JXR 文件,依此类推。