背景:我有一个项目可以在使用java 1.7.0的机器中编译maven,但是javadoc编译在另一台机器上失败了,它有java 1.8.0。从maven的日志中,我可以看到一个使用“Standard DocLet version 1.7.0_40”,而另一个使用的是“Standard DocLet 1.8.0版”。
问题是:如何告诉maven使用正确版本的标准DocLet?
我已经在maven-compiler-plugin中将源代码和目标版本都设置为1.7。
答案 0 :(得分:0)
我建议您查看documentation of maven-javadoc-plugin,其中描述了您应该定义doclet的版本。
<project>
...
<reporting> (or <build>)
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<!-- <docletPath>/path/to/UmlGraph.jar</docletPath> -->
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>doclet</artifactId>
<version>5.1</version>
</docletArtifact>
<additionalparam>-views</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
...
</plugins>
</reporting> (or </build>)
...
</project>
答案 1 :(得分:0)
我还hit an issue with this钻研了maven-javadoc-plugin代码,但我认为您不能更改标准doclet版本。您可以指定一个自定义doclet,但可以为标准doclet指定uses your java version,这大概是因为doclet实现是JDK的一部分。