从命令行设置 javadocExecutable 不起作用
Setting javadocExecutable from command line does not work
我正在使用 Java 6(最新的 public 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>
元素并从命令行尝试相同的操作,它会失败(Java Maven 报告使用 6):
$ mvn release:prepare -DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc
那是因为 maven-release-plugin
的 prepare
目标运行分叉构建并且系统属性未复制到分叉中。
您需要使用 arguments
属性,如下所示:
mvn release:prepare -Darguments="-DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc"
引用其文档:
Additional arguments to pass to the Maven executions, separated by spaces.
我正在使用 Java 6(最新的 public 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>
元素并从命令行尝试相同的操作,它会失败(Java Maven 报告使用 6):
$ mvn release:prepare -DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc
那是因为 maven-release-plugin
的 prepare
目标运行分叉构建并且系统属性未复制到分叉中。
您需要使用 arguments
属性,如下所示:
mvn release:prepare -Darguments="-DjavadocExecutable=/usr/lib/jvm/java-8-oracle/bin/javadoc"
引用其文档:
Additional arguments to pass to the Maven executions, separated by spaces.