3

我正在使用jdk 12构建语言级别9的maven项目。编译可以成功,但无法正确生成javadoc。

简而言之,错误代码是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.1.0:jar (default) on project commonx: MavenReportException: Error while generating Javadoc:
[ERROR] Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module.

代码位于https://github.com/XenoAmess/commonx/tree/3d875ee71ba1712b1b2bf76e89af08c5683fe57d

travis-ci 位于https://travis-ci.org/XenoAmess/commonx/builds/540181778

我可以用 jdk9 或 10 做到这一点,但我找不到可以正确构建这个 javadoc 的 jdk 12。我试过zulu,oracle open jdk,adopt open jdk,amazon-corretto(11),都是我能拿到的最新二进制版本。

我使用的是win10 x64,但根据travis-ci的报告,这应该不是系统引起的,因为我在travis上使用的是linux x64。

如果有人可以使用任何 jdk 12 获得它“maven install”,请告诉我我该怎么做。

衷心感谢。


更新:2019/06/03

我们将语言级别更改为 8。

然后它可以正确构建javadoc(在AdoptOpenJDK12上)

不知道为什么。

https://travis-ci.org/XenoAmess/commonx/builds/540461237

好吧。

在他们修复 OpenJDK 中的错误之前,我们将保持在语言级别 8。

(但是这个库的某些部分不能在 jre 8 上运行......无论如何。)

4

2 回答 2

1

谷歌搜索此错误的更新:如果项目使用源/目标 8,在 javadoc 配置中添加 8 应该使项目能够在 jdk {11、12、13} 上构建:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
      <source>8</source>
    </configuration>
     ...
  </plugin>    
于 2020-02-12T06:47:25.020 回答
1

您可以在maven-javadoc-plugin的配置中添加以下行

<detectJavaApiLink>false</detectJavaApiLink>

于 2020-06-22T11:14:57.340 回答