Maven 为多模块项目生成Javadoc

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

我已经阅读了关于解决这个问题的所有资料,但我的尝试仍然失败。我能做的最好的事情就是只显示一个模块的Javadoc——最后一个构建的模块。(目前,我没有尝试将Javadoc捆绑到任何JAR中。我也没有尝试在“站点”中执行任何操作。)我只想将Javadoc放在项目根目录下的子目录中,以便于访问

下面是我的父pom.xml中的内容:


.
.
.
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