Maven 为多模块项目生成Javadoc
我已经阅读了关于解决这个问题的所有资料,但我的尝试仍然失败。我能做的最好的事情就是只显示一个模块的Javadoc——最后一个构建的模块。(目前,我没有尝试将Javadoc捆绑到任何JAR中。我也没有尝试在“站点”中执行任何操作。)我只想将Javadoc放在项目根目录下的子目录中,以便于访问 下面是我的父pom.xml中的内容:Maven 为多模块项目生成Javadoc,maven,maven-javadoc-plugin,Maven,Maven Javadoc Plugin,我已经阅读了关于解决这个问题的所有资料,但我的尝试仍然失败。我能做的最好的事情就是只显示一个模块的Javadoc——最后一个构建的模块。(目前,我没有尝试将Javadoc捆绑到任何JAR中。我也没有尝试在“站点”中执行任何操作。)我只想将Javadoc放在项目根目录下的子目录中,以便于访问 下面是我的父pom.xml中的内容: . . . org.apache.maven.plugins maven javadoc插件 3.2.0 全部的 ${user.dir}/documents javad
.
.
.
org.apache.maven.plugins
maven javadoc插件
3.2.0
全部的
${user.dir}/documents
javadoc
附加javadocs
包裹
罐子
我在下属pom.xml文件中输入的内容与上述内容相同,只是
<goals>
<goal>javadoc</goal>
</goals>
javadoc
我已经尝试过将父文件中的
替换为以下文件,有时还将子文件pom.xml替换为:
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
总数的
总数的
但是这没有什么区别。我认为以下配置是您的报告被覆盖的原因:
<configuration>
<reportOutputDirectory>${user.dir}/documents</reportOutputDirectory>
</configuration>
(注意,reactor需要编译或包目标来解决模块间的依赖关系)mvn javadoc:javadoc javadoc:aggregate我的项目可能有其他问题?我有4个子模块。reactor摘要报告根项目和第一个子模块(名为shared)成功,但第二个子模块(fhir)失败,原因是“无法解析项目com.windofkeltia.pipeline:fhir:jar:4.0.0:无法在central中找到工件com.windofkeltia.pipepepeline:shared:jar:4.0.0。”我从来没有试图把从我的子模块出来的罐子放进Maven Central。请注意,我正常构建(mvn包)没有问题。@RussBateman我的错,我忘了添加编译或包目标。请参阅更新的答案。不,不是这样。我仍然得到同样的东西。如果您想查看整个构建:嗯,那么您的项目设置中有一些不同的内容。运行
install
目标而不是compile
应该可以为您解决问题,但这不是最干净的解决方案。参考示例:好的,是的,这很尴尬,但我现在没有收到任何错误,我在路径/target/site/apidocs/Javadoc/index.html上找到聚合的Javadoc。可以使用安装。我们通常不使用install
目标——我们构建一个NiFi NAR,而放置/分发不是由Maven完成的。(我遵循了这个链接,尝试了几乎所有的结论性建议,但没有最终的幸福感。)谢谢你,皮耶特扬!
<configuration>
<reportOutputDirectory>${user.dir}/documents</reportOutputDirectory>
</configuration>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<!-- Default configuration for all reports -->
<noqualifier>all</noqualifier>
<destDir>javadoc</destDir>
</configuration>
<executions>
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
<configuration>
<!-- Specific configuration for the aggregate report -->
<reportOutputDirectory>${user.dir}/documents</reportOutputDirectory>
<destDir>javadoc</destDir>
</configuration>
</execution>
...
</executions>
</plugin>
...
</plugins>
</build>
mvn compile javadoc:javadoc javadoc:aggregate