2

我想为多模块 maven 项目中的所有模块设置一个备用 JavaDoc 位置。不幸的是,我不得不依赖相对路径,或者使用像 ${basedir} 这样的 maven 属性,因为这是一个关于颠覆的团队项目,没有绝对路径对我们所有人来说都是相同的。

做这个的最好方式是什么?如果我有一个项目结构

父母
   子1
   子2
   子3
      文档

我想将 API 放在 sub3/docs 中,那么当父模块识别出与子模块不同的路径时,如何将所有模块指向 sub3/docs 中的输出 HTML 文件?

提前致谢。

4

2 回答 2

1

您希望尽可能少地污染您的项目构建,尤其是在重复构建调整的情况下。相反,您最好创建一个单独的构建过程,该过程将 javadoc 输出从所有项目的标准位置组装起来,并将其发布到需要的地方。

于 2013-01-15T06:23:46.963 回答
1

将以下内容添加到父 pom 并确保子 pom 没有定义自己的 javadoc 插件。

       <build>
       <plugins>
       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>

            <configuration>
                <outputDirectory>${project.parent.basedir}/sub3</outputDirectory>
                <reportOutputDirectory>${project.parent.basedir}/sub3</reportOutputDirectory>
                <destDir>docs</destDir>
            </configuration>
        </plugin>
        </plugins>
        </build>
于 2013-01-15T07:57:48.453 回答