1

我正在使用 Java 6(最新的公共 Oracle 版本)和 Maven 3.2.5 执行一个项目。我想要使​​用 Java 8 生成的 Javadoc。使用此设置进行配置时,一切正常:

<plugin>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.3</version>
    <configuration>
        ...
        <javadocExecutable>/usr/lib/jvm/java-8-oracle/bin/javadoc</javadocExecutable>
        <additionalparam>-Xdoclint:none</additionalparam>
    </configuration>
</plugin>

但是,如果我省略该<javadocExecutable>元素并从命令行尝试相同的操作,则会失败(Maven 报告使用 Java 6):

$ mvn release:prepare -DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc
4

1 回答 1

0

这是因为运行分叉构建的prepare目标maven-release-plugin并且系统属性不会复制到分叉中。

您需要使用该arguments属性,如下所示:

mvn release:prepare -Darguments="-DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc"

引用其文档:

传递给 Maven 执行的附加参数,用空格分隔。

于 2015-10-19T17:42:11.157 回答