JavaDoc的备用输出目录

3

我正在尝试为我的多模块maven项目配置JavaDocs的备用输出位置。我在父POM中配置了maven-javadoc如下:

<build>
...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <noqualifier>all</noqualifier>
        <reportOutputDirectory>
            ${project.reporting.outputDirectory}/api
        </reportOutputDirectory>
        <destDir>api</destDir>
    </configuration>
</plugin>
...
</build>

接下来,我将设置项目的报告输出目录project.reporting.outputDirectory。

<properties>
    <project.reporting.outputDirectory>
        ./module-webapp/src/main/webapp/docs
    </project.reporting.outputDirectory>
</properties>

然而,Maven似乎并不关心上述配置,并在默认目录中输出JavaDoc。为什么会这样呢?

另外,我使用了相对路径来设置project.reporting.outputDirectory变量。当我在子模块中运行mvn javadoc:javadoc时,这个相对路径的含义是否与我在父模块中运行它时相同?

非常感谢您的帮助!

2个回答

4
您需要更改变量的名称。 project.reporting.outputDirectory 是一个内置变量,maven 会覆盖您对其进行的设置。
请注意,您可能仍然需要将目录设置为相对于 project.reporting.outputDirectory,或者类似于 ${basedir} 这样的内容,才能使其正常工作。
此外,请记住,根据我阅读文档的理解,您的最终目录将是 ./module-webapp/src/main/webapp/docs/api/api,这可能并不完全符合您的要求。
对于相对目录和子模块,每个构建 tend to be self-contained,因此它会将 javadocs 存放在每个子构建的相对位置。

1
发现了问题所在。不知何故,当我删除${project.reporting.outputDirectory}并直接输入路径时,它可以工作。出于某种原因,当我使用任何其他变量名称(除上述之外)时,它也可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接