1

背景:我有一个项目可以在具有 java 1.7.0 的机器上使用 maven 编译,但 javadoc 编译在另一台具有 java 1.8.0 的机器上失败。从 maven 的日志中,我可以看到一个正在使用“Standard DocLet version 1.7.0_40”,而另一个正在使用“Standard DocLet version 1.8.0”。

问题是:我怎样才能告诉 maven 使用标准 DocLet 的正确版本?

我已经在 maven-compiler-plugin 中将源代码和目标版本都设置为 1.7。

4

2 回答 2

0

我建议查看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>
于 2014-08-05T10:55:02.737 回答
0

我也遇到了这个问题,我研究了 maven-javadoc-plugin 代码,我认为你不能更改标准的 doclet 版本。您可以指定自定义 doclet,但对于标准 doclet,它使用您的 java 版本,大概是因为 doclet 实现是您的 JDK 的一部分。

于 2019-01-23T16:00:10.573 回答