如何在Maven中指定不同版本的Standard DocLet?

时间:2014-08-05 09:30:54

标签: java maven version javadoc doclet

背景:我有一个项目可以在使用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。

2 个答案:

答案 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的一部分。