После обновления с Java 9 до 10 ссылки на JDK больше не работают при создании документации с помощью инструмента Javadoc (например, для импорта файла java.util.Optional
, {@link Optional}
отображается как Optional
а не как Optional
; с @see
, @param
, @return
, и где-нибудь еще вы обычно видите ссылки Javadoc).
У меня простой модульный проект, и я использую Maven с плагином Javadoc (source
и target
параметры установлены в 10
в разделе configuration
для плагина компилятора). Я понимаю, что по умолчанию он передает -link https://docs.oracle.com/javase/10/docs/api/
в инструмент Javadoc. Также я понимаю, что исторически инструмент Javadoc ожидал, что текстовый файл с именем package-list
будет присутствовать в URL-адресе, где ему было предложено найти внешние документы. Java 8 имеет один. Java 9 имеет один. Java 10 не (ошибка 404). По-видимому, теперь инструмент Javadoc выводит текстовый файл с именем element-list
вместо element-list
package-list
для модульных проектов, но, похоже, он не предоставляется ни (или для Java 9, но доступен для ранних версий сборки Java 11).
Сгенерирование Javadoc через IntelliJ с возможностью включения 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/
. Несмотря на ошибку, он выводит Javadoc, но, как и в случае с Maven, ссылки JDK отсутствуют.
Как это должно работать? Завершил ли Oracle, когда они размещают документы 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"