Hello. I have an application based on spring boot that also produces the javadoc (both html and jar) with external links (to dependencies javadoc site) during the build.
After upgrading dependency to spring boot 3.3.0/3.3.1 this build started to fail with error:
error: Error fetching URL: https://docs.spring.io/spring-boot/docs/3.3.1/api/ (java.io.FileNotFoundException: https://docs.spring.io/spring-boot/docs/3.3.1/api/package-list)
Broken build logs: https://github.com/1c-syntax/bsl-language-server/actions/runs/9611169437/job/26509211579?pr=3315
Normal build logs: https://github.com/1c-syntax/bsl-language-server/actions/runs/9534713350/job/26279577391#step:4:37
Was it an intended change? Any tips on what should he configured to make it work again?
Comment From: bclozel
I think you can change your javadoc configuration (most likely in your maven or gradle build) to use the following URL now: https://docs.spring.io/spring-boot/3.3.0/api/java/
Please let us know if this works for you.
Comment From: nixel2007
I tried to add javadoc links to 3.3.0 and latest, but error is the same:
https://github.com/1c-syntax/bsl-language-server/pull/3315/files
Comment From: bclozel
This is still using the wrong URL. Any idea where this can come from?
error: Error fetching URL: https://docs.spring.io/spring-boot/docs/3.3.1/api/ (java.io.FileNotFoundException: https://docs.spring.io/spring-boot/docs/3.3.1/api/package-list)
Comment From: spring-projects-issues
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.
Comment From: spring-projects-issues
Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.
Comment From: nixel2007
Sorry for a big delay. I executed graldew javadoc --debug and found this in the logs:
2024-11-05T14:36:07.306+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-autoconfigure:3.3.5'
2024-11-05T14:36:07.306+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot:3.3.5'
2024-11-05T14:36:07.306+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter-logging:3.3.5'
2024-11-05T14:36:07.306+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter-tomcat:3.3.5'
2024-11-05T14:36:13.894+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter-json:3.3.5'
2024-11-05T14:36:13.894+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter:3.3.5'
2024-11-05T14:36:14.155+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter-websocket:3.3.5'
2024-11-05T14:36:14.155+0100 [INFO] [org.gradle.api.Task] Using well known link 'https://docs.spring.io/spring-boot/docs/3.3.5/api/' for 'org.springframework.boot:spring-boot-starter-web:3.3.5'
I'll try to specify links to javadoc.io for those libraries and check if it will help
cc @bclozel
Comment From: bclozel
Thanks for your feedback. I couldn't find any reference to this URL in our repository nor any link to a Gradle task that would log this message. Maybe this is a custom task being applied in your project.
Comment From: nixel2007
https://github.com/freefair/gradle-plugins/blob/90d4b404697b1693e99b15642092841f7b3f408b/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/javadoc/ResolveJavadocLinks.java#L115
I found a log line. it comes from frefair.javadoc-links plugin. I'll continue my investigations and will post my findings.
But once again it works well with spring-boot 3.2 and breaks with 3.3, so I guess something was changed in infra/pom/jar/whatever. I'll try to find what causes the plugin failure.
Comment From: nixel2007
And here is a source of the links: https://github.com/freefair/gradle-plugins/blob/main/maven-plugin/src/main/java/io/freefair/gradle/plugins/maven/javadoc/linkproviders/SpringLinkProvider.java
Comment From: nixel2007
@bclozel I check the javadoc logs for SB 3.2, and this is interesting. Link for 3.2.5 actually works: https://docs.spring.io/spring-boot/docs/3.2.5/api/
but not for 3.3.5: https://docs.spring.io/spring-boot/docs/3.3.5/api/
Comment From: bclozel
I think you should raise this against the project providing the task, not Spring Boot. We know the URL changed between versions, we redesigned our reference documentation so this is expected.
Comment From: nixel2007
Ok, got it, thank you. Is new URL available for old version of spring-boot or I need to compare versions and use ocs.spring.io/spring-boot/docs/$version for old ones, and https://docs.spring.io/spring-boot/api/java/ for new ones? also is there a way to specify version of javadoc for new site? I tried to substitute version into URL but either end up with 3.3.5 or get 404
Comment From: bclozel
3.3.x is located here: https://docs.spring.io/spring-boot/api/java/ upcoming 3.4.x is here: https://docs.spring.io/spring-boot/3.4/api/java/index.html
Comment From: nixel2007
Thanks again, Brian. I hope next update from me will be with a plugin version number, where issue is resolved :)
Comment From: nixel2007
The issue was fixed in freefair plugins version 8.11
Thanks.