Maven javadoc 插件 3.1.0 不生成聚合 javadoc
Maven javadoc plugin 3.1.0 not generating aggregate javadocs
我有一个多模块项目,我想为其生成聚合 javadoc 报告。我正在使用 maven-javadoc-plugin
版本 3.1.0。这是 pom.xml 文件的报告部分:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<reportSets>
<reportSet>
<id>non-aggregate</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
我正在使用 mvn site:site site:stage
目标来生成 javadoc 报告。当我 运行 这个命令时,我希望在 target/site/
下看到包含 index.html
的 apidocs
目录,但我没有看到 apidocs
目录。
有趣的是,如果我切换到 maven-javadoc-plugin
的 3.0.1
版本,则会成功生成聚合 javadoc。
我知道 3.1.0 中 aggregate
报告的生成方式发生了变化,因为 documented here 我使用了相同的报告设置。
此外,为两个版本的插件正确生成了各个模块的 javadoc。
其他详情:
- JDK 8
maven-site-plugin
版本 3.7.1
我终于找到了导致这个问题的原因。我怀疑原因是在maven-javadoc-plugin
版本3.1.0中,有一个补丁可以修复Support aggregated reports at each level in the multi-module hierarchy。
此修复使用聚合器 pom.xml
中定义的路径来确定 canGenerateReport() 的结果。
调查我的聚合器 pom.xml
中定义的模块后,我发现我的模块定义为:
<modules>
<module>./path/to/module1</module>
<module>./path/to/module2</module>
<module>./path/to/module3</module>
</modules>
路径中有 ./
,导致 canGenerateReport()
返回 false
。删除 ./
解决了这个问题。
修复后,我的模块定义如下所示:
<modules>
<module>path/to/module1</module>
<module>path/to/module2</module>
<module>path/to/module3</module>
</modules>
我有一个多模块项目,我想为其生成聚合 javadoc 报告。我正在使用 maven-javadoc-plugin
版本 3.1.0。这是 pom.xml 文件的报告部分:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<reportSets>
<reportSet>
<id>non-aggregate</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
我正在使用 mvn site:site site:stage
目标来生成 javadoc 报告。当我 运行 这个命令时,我希望在 target/site/
下看到包含 index.html
的 apidocs
目录,但我没有看到 apidocs
目录。
有趣的是,如果我切换到 maven-javadoc-plugin
的 3.0.1
版本,则会成功生成聚合 javadoc。
我知道 3.1.0 中 aggregate
报告的生成方式发生了变化,因为 documented here 我使用了相同的报告设置。
此外,为两个版本的插件正确生成了各个模块的 javadoc。
其他详情:
- JDK 8
maven-site-plugin
版本 3.7.1
我终于找到了导致这个问题的原因。我怀疑原因是在maven-javadoc-plugin
版本3.1.0中,有一个补丁可以修复Support aggregated reports at each level in the multi-module hierarchy。
此修复使用聚合器 pom.xml
中定义的路径来确定 canGenerateReport() 的结果。
调查我的聚合器 pom.xml
中定义的模块后,我发现我的模块定义为:
<modules>
<module>./path/to/module1</module>
<module>./path/to/module2</module>
<module>./path/to/module3</module>
</modules>
路径中有 ./
,导致 canGenerateReport()
返回 false
。删除 ./
解决了这个问题。
修复后,我的模块定义如下所示:
<modules>
<module>path/to/module1</module>
<module>path/to/module2</module>
<module>path/to/module3</module>
</modules>