我正在使用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,采用open jdk,amazon-corretto(11),它们都是我可以获得的最新二进制版本。
我使用的是Win10 x64,但根据travis-ci的报告,它不会由系统引起,因为我在travis上使用linux x64。
如果有人可以使用任何jdk 12进行“ Maven安装”,请告诉我该怎么办。
衷心感谢。
更新:2019/06/03
我们将语言级别更改为8。
然后它可以正确构建javadoc(在AdoptOpenJDK12上)
不知道为什么。
https://travis-ci.org/XenoAmess/commonx/builds/540461237
那么。
在他们修复OpenJDK中的错误之前,我们将保持语言8级。
(但是该库的某些部分仍将无法在jre 8上运行...)。
有关通过Google搜索此错误的信息的更新:如果项目使用源/目标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>