[External] : Re: Missing element-list for https://docs.oracle.com/javase/8/docs/jre/api/security/jgss/spec

Osipov, Michael (IN IT IN) michael.osipov at innomotics.com
Fri Jun 7 12:16:28 UTC 2024


On 2024-06-07 01:11, Jonathan Gibbons wrote:
> 
> On 6/5/24 2:51 AM, Osipov, Michael wrote:
>> On 2024-05-31 21:38, Jonathan Gibbons wrote:
>>> Michael,
>>>
>>> There is no `element-list` file for any version of JDK before JDK 9.
>>> Before JDK 9, the appropriate information was in the `package-list`
>>> file. In JDK 9, with the introduction of modules, the format of the file
>>> was updated to include modules, and because this was an incompatible
>>> change, the file was renamed as well, to `element-list`.
>>>
>>> It is an annoying misconfiguration of `docs.oracle.com` that you are
>>> seeing `302 Moved Temporarily` instead of `404 Not Found` which would be
>>> a more semantically accurate response.
>>>
>>> That leaves the question of why whatever you were doing was looking for
>>> `element-list` in JDK 8. To answer that, we need more info, to determine
>>> whether it is just a command-line error on your part, or any error in
>>> the `javadoc` tool itself. What version of JDK and javadoc are you
>>> using; what external libraries were you referencing in `-link` or `-
>>> linkoffline` options; and what source level were you using, with either
>>> the `-source` or `--release` options?
>> John,
>>
>> thanks for the elaboration. Let me better clarify what happens.
>>
>> The code is question with a modification for you is available at:
>> https://urldefense.com/v3/__https://github.com/michael-o/ 
>> tomcatspnegoad/tree/javadoc-issue__;!!ACWV5N9M2RV99hQ! 
>> L6MibNz6g0M99jnVOo2O_Zs2vP8-4CM- 
>> NS4WNUmHmL5dB30i0qaSfDJBHW4S_bxjOhImERJfBWGpStJ6WrwE0WAva10xtV86PQ$ 
>>
>> Class net.sf.michaelo.tomcat.pac.asn1.AdIfRelevantAsn1Parser uses
>> com.sun.security.jgss.AuthorizationDataEntry and others use private Sun
>> classes which does not allow me to use -release for now, only -source.
>> The source is Java 8. When I run javadoc:javadoc with Zulu 8 all links
>> are generated successfully. Running Zulu 11 with extracted Javadoc call
>> (&"C:\Program Files\Zulu\zulu-11\bin\javadoc.exe" -verbose "@options"
>> "@packages") gives me no warning, even in verbose mode. It simply does
>> not link.
>> When trying Temurin 22.0.1 (&"C:\Temp\jdk-22.0.1+8\bin\javadoc.exe"
>> -verbose "@options" "@packages") it gives me:
>>> Warnung: URLhttps://docs.oracle.com/javase/8/docs/jre/api/security/jgss/spec/ 
>>> element-list wurde umgeleitet anhttps://docs.oracle.com/en/java/javase/22/ - Aktualisieren Sie die Befehlszeilenoptionen, um diese Warnung zu unterdrücken.
>> That is the redirect. Either I am misunderstanding or I have hit an edge
>> case for public classes outside of the standard JDK (Java namespaces).
>> Here is the input to Javadoc (@options, @packages) if you cannot try
>> yourself:https://urldefense.com/v3/__https://gist.github.com/michael- 
>> o/212c6797b000914b9142f1f077b1d9df__;!!ACWV5N9M2RV99hQ! 
>> L6MibNz6g0M99jnVOo2O_Zs2vP8-4CM- 
>> NS4WNUmHmL5dB30i0qaSfDJBHW4S_bxjOhImERJfBWGpStJ6WrwE0WAva12c46QzhA$ 
>>
>> I have tried:
>>> Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
>>> Maven home: C:\Entwicklung\Programme\apache-maven-3.8.8
>>> Java version: 11.0.18, vendor: Azul Systems, Inc., runtime: C:\Program Files\Zulu\zulu-11
>>> Default locale: de_DE, platform encoding: UTF-8
>>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>>> Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
>>> Maven home: C:\Entwicklung\Programme\apache-maven-3.8.8
>>> Java version: 1.8.0_362, vendor: Azul Systems, Inc., runtime: C:\Program Files\Zulu\zulu-8\jre
>>> Default locale: de_DE, platform encoding: Cp1252
>>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>>> Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
>>> Maven home: C:\Entwicklung\Programme\apache-maven-3.8.8
>>> Java version: 22.0.1, vendor: Eclipse Adoptium, runtime: C:\Temp\jdk-22.0.1+8
>>> Default locale: de_DE, platform encoding: UTF-8
>>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>> Note: I have routed the Javadoc traffic through Fiddler and it clearly
>> following the misconfigured docs.oracle.com location:
>>> #	Result	Protocol	Host	URL	Body	Caching	Content-Type	Process	Comments	Custom	
>>> 10	302	HTTPS	docs.oracle.com	/javase/8/docs/jre/api/security/jgss/spec/element-list	1			javadoc:24660			
>>> #	Result	Protocol	Host	URL	Body	Caching	Content-Type	Process	Comments	Custom	
>>> 12	200	HTTPS	docs.oracle.com	/en/java/javase/22/	33 431	max-age=19052	text/html	javadoc:24660			
>> Regards,
>>
>> Michael
>>
>>
> 
> Michael,
> 
> I investigated a bit further, and I may have a solution for you.
> 
> The redirect is annoying, and sad to say, there is nothing I can do to 
> get it fixed in a timely manner.  But, I think you may be able to work 
> around it.  The answer is based on the content of the files in the gist 
> that you referenced in your message.
> 
> Look at these lines:
> 
> -link
> 'https://docs.oracle.com/javase/8/docs/jre/api/security/jgss/spec'
> -linkoffline
> 'https://docs.oracle.com/javase/8/docs/api' 'C:/Entwicklung/ 
> workspace-2023-06/tomcatspnegoad/tomcat90/target/javadoc-bundle-options'
> 
> I'm not sure what is in your `javadoc-bundle-options` file, but it 
> *ought* to be a local copy of the `package-list` found here:
> https://docs.oracle.com/javase/8/docs/api/package-list
> 
> For the first option, the `-link` one, try changing it to:
> 
> -linkoffline
> 'https://docs.oracle.com/javase/8/docs/jre/api/security/jgss/spec' / 
> path/to/file
> 
> where `/path/to/file` is a local copy of the file found here:
> https://docs.oracle.com/javase/8/docs/jre/api/security/jgss/spec/ 
> package-list
> 
> which in reality is just:
> 
> com.sun.security.jgss
> 
> In other words, both options should be instances of the `-linkoffline` 
> option, which should be of the form:
> 
> -linkofflinehttps:/url/to/api  /path/to/file
> 
> where `/path/to/file` is a local copy of the file downloaded from 
> `https:/url/to/api/package-list`
> 
> Note I am using `.../package-list` in this message because you are using 
> `-source 8`.  If you use a newer version of these APIs, you may need to 
> change `package-list` to `element-list`. (I believe the change happened 
> in JDK 11.)
> 
> For more details on the `-linkoffline` option, see
> https://docs.oracle.com/en/java/javase/22/docs/specs/man/ 
> javadoc.html#option-linkoffline

Jon,

this indeed worked. Thank you very much. I am certain that if 
docs.oracle.com would not misbehave it would work as expected and not 
wasted our time :-(. Hope you can fix that soon.

A similar issue I need to address in upcoming Maven Javadoc Plugin:
https://issues.apache.org/jira/browse/MJAVADOC-656

Best regards,

Michael


More information about the javadoc-dev mailing list