JavaDoc的备用输出目录

时间:2013-01-15 04:34:53

标签: java maven javadoc maven-javadoc-plugin

我正在尝试在我的多模块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 个答案:

答案 0 :(得分:3)

您需要更改变量的名称。 project.reporting.outputDirectory是一个内置变量,maven会覆盖你的设置。

请注意,您可能仍需要设置相对于project.reporting.outputDirectory的目录,或${basedir}之类的目录,以实际使其生效。

另请注意,根据我对文档的阅读,您的最终目录将是./module-webapp/src/main/webapp/docs/api/api,这可能不是您想要的

就相对目录和子模块而言,每个构建都倾向于自包含,因此它将相对于每个子构建存放javadoc。

答案 1 :(得分:1)

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