JDK-8199465 : {@docRoot} references need to be updated to reflect new module/package structure
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 11
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2018-03-12
  • Updated: 2018-06-27
  • Resolved: 2018-03-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11 b07Fixed
Related Reports
Cloners :  
Relates :  
Relates :  
Description
{@docRoot} reference need to be updated to reflect new module structure

For example:
java/lang/Thread.java

     *       For more information, see
     *       <a href="{@docRoot}/java/lang/doc-files/threadPrimitiveDeprecation.html">Why
     *       are Thread.stop, Thread.suspend and Thread.resume Deprecated?</a>.

In java.base, the following files are affected, but almost all of the changes can be scripted.
src/java.base/share/classes/java/lang/CharSequence.java
src/java.base/share/classes/java/lang/Comparable.java
src/java.base/share/classes/java/lang/module/Configuration.java
src/java.base/share/classes/java/lang/ProcessHandle.java
src/java.base/share/classes/java/lang/String.java
src/java.base/share/classes/java/lang/Thread.java
src/java.base/share/classes/java/lang/UnsupportedOperationException.java
src/java.base/share/classes/java/time/chrono/HijrahDate.java
src/java.base/share/classes/java/time/chrono/JapaneseDate.java
src/java.base/share/classes/java/time/chrono/MinguoDate.java
src/java.base/share/classes/java/time/chrono/ThaiBuddhistDate.java
src/java.base/share/classes/java/time/Duration.java
src/java.base/share/classes/java/time/Instant.java
src/java.base/share/classes/java/time/LocalDate.java
src/java.base/share/classes/java/time/LocalDateTime.java
src/java.base/share/classes/java/time/LocalTime.java
src/java.base/share/classes/java/time/MonthDay.java
src/java.base/share/classes/java/time/OffsetDateTime.java
src/java.base/share/classes/java/time/OffsetTime.java
src/java.base/share/classes/java/time/Period.java
src/java.base/share/classes/java/time/Year.java
src/java.base/share/classes/java/time/YearMonth.java
src/java.base/share/classes/java/time/ZonedDateTime.java
src/java.base/share/classes/java/time/ZoneId.java
src/java.base/share/classes/java/time/ZoneOffset.java
src/java.base/share/classes/java/util/AbstractCollection.java
src/java.base/share/classes/java/util/AbstractList.java
src/java.base/share/classes/java/util/AbstractMap.java
src/java.base/share/classes/java/util/AbstractQueue.java
src/java.base/share/classes/java/util/AbstractSequentialList.java
src/java.base/share/classes/java/util/AbstractSet.java
src/java.base/share/classes/java/util/ArrayDeque.java
src/java.base/share/classes/java/util/ArrayList.java
src/java.base/share/classes/java/util/Arrays.java
src/java.base/share/classes/java/util/Collection.java
src/java.base/share/classes/java/util/Collections.java
src/java.base/share/classes/java/util/Comparator.java
src/java.base/share/classes/java/util/concurrent/ArrayBlockingQueue.java
src/java.base/share/classes/java/util/concurrent/BlockingDeque.java
src/java.base/share/classes/java/util/concurrent/BlockingQueue.java
src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java
src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java
src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java
src/java.base/share/classes/java/util/concurrent/ConcurrentMap.java
src/java.base/share/classes/java/util/concurrent/ConcurrentNavigableMap.java
src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java
src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java
src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java
src/java.base/share/classes/java/util/concurrent/CopyOnWriteArraySet.java
src/java.base/share/classes/java/util/concurrent/DelayQueue.java
src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java
src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java
src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java
src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java
src/java.base/share/classes/java/util/concurrent/SynchronousQueue.java
src/java.base/share/classes/java/util/concurrent/TransferQueue.java
src/java.base/share/classes/java/util/Deque.java
src/java.base/share/classes/java/util/EnumMap.java
src/java.base/share/classes/java/util/EnumSet.java
src/java.base/share/classes/java/util/HashMap.java
src/java.base/share/classes/java/util/HashSet.java
src/java.base/share/classes/java/util/Hashtable.java
src/java.base/share/classes/java/util/IdentityHashMap.java
src/java.base/share/classes/java/util/Iterator.java
src/java.base/share/classes/java/util/LinkedHashMap.java
src/java.base/share/classes/java/util/LinkedHashSet.java
src/java.base/share/classes/java/util/LinkedList.java
src/java.base/share/classes/java/util/ListIterator.java
src/java.base/share/classes/java/util/List.java
src/java.base/share/classes/java/util/Map.java
src/java.base/share/classes/java/util/NavigableMap.java
src/java.base/share/classes/java/util/NavigableSet.java
src/java.base/share/classes/java/util/PriorityQueue.java
src/java.base/share/classes/java/util/Queue.java
src/java.base/share/classes/java/util/RandomAccess.java
src/java.base/share/classes/java/util/ResourceBundle.java
src/java.base/share/classes/java/util/Set.java
src/java.base/share/classes/java/util/SortedMap.java
src/java.base/share/classes/java/util/SortedSet.java
src/java.base/share/classes/java/util/TreeMap.java
src/java.base/share/classes/java/util/TreeSet.java
src/java.base/share/classes/java/util/Vector.java
src/java.base/share/classes/java/util/WeakHashMap.java
src/java.base/share/classes/javax/net/ssl/SNIHostName.java


Comments
a. Good catch. b. This is not really a javadoc issue; it is a doc-comments issue (but I agree that the javadoc change provoked the issue.) For what it is worth, in the jdk/jdk repo, there are about 404 uses of {@docRoot}, but of those, about half (197 / 404) are of the form {@docRoot}/.. and so are correct, in that they are not broken links, although they would be better written as {@docRootParent}. So yes, there are about 207 uses of {@docRoot} that need to be fixed up, to include a module name. It is instructive to look at these cases, with a view to understanding why {@link} is not being used. At first glance, it looks like the links are to user anchors in API pages, or to anchors in doc-files, neither of which are currently supported by {@link}.
12-03-2018