无法在 Javadoc 注释中链接到 JDK10
从 Java 9 升级到 10 后,在使用 Javadoc 工具生成文档时,指向 JDK 的链接不再有效(例如,对于文件导入,呈现为而不是可选
;与 、 、 和您通常看到 Javadoc 链接的其他任何地方的问题相同)。java.util.Optional
{@link Optional}
Optional
@see
@param
@return
我有一个简单的模块化项目,我正在将Maven与Javadoc插件一起使用(以及编译器插件部分中设置的选项)。我的理解是,默认情况下,它会传递到Javadoc工具。我的理解是,从历史上看,Javadoc工具期望一个名为的文本文件出现在URL中,在那里它被告知要查找外部文档。Java 8有一个。Java 9有一个。Java 10 没有(404 错误)。显然,Javadoc工具现在输出一个名为而不是模块化项目的文本文件,但似乎也没有提供(Java 9也没有提供,但它可用于Java 11的早期访问版本)。source
target
10
configuration
-link https://docs.oracle.com/javase/10/docs/api/
package-list
element-list
package-list
通过 IntelliJ 生成启用了该选项的 Javadoc 会产生相同的结果。它说它正在传递给 ,并报告 。尽管有错误,它确实输出了Javadoc,但与Maven一样,不存在JDK链接。Link to JDK documentation
-link https://docs.oracle.com/javase/10/docs/api/
javadoc.exe
javadoc: error - Error fetching URL: https://docs.oracle.com/javase/10/docs/api/
这应该如何工作?甲骨文在将JDK文档放到网上时搞砸了吗?
我的相关位:pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.1</version> <!--update dependency for Java 10 compatibility-->
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
输出 :mvn -version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T12:49:05-07:00)
Maven home: C:\Program Files\apache-maven-3.5.3\bin\..
Java version: 10, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk-10
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"