New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document support for Java 17 #26767
Comments
I think 10.) needs to be addressed in Spring-Framework. Essentially it retrieves all interfaces of String which also includes
I'm not sure if a String bean is a valid case anyhow, but when I'm assuming that it is, this needs to be addressed. I've opened spring-projects/spring-framework#27027 to track Java 17 for Spring Framework. |
Johnzon 1.2.14 was released recently that should fix point 1 in my list. I didn't open an issue for that one because it's likely picked up by the bomr dependency upgrades, but let me know if I can do so to ease my local testing. |
Thanks, @dreis2211. I've just done a round of upgrades on 2.5.x, including Johnzon 1.2.14. |
@wilkinsona Aren't those changes merged to main usually? |
@dreis2211 we don't merge dependency upgrade but run |
No, was just wondering. |
I've either reported, opened PRs or referenced the corresponding issues for every point in the original post. If I subtract my open PRs from the equation the following two things are blocking us from creating the pipeline:
I could probably work around both of them by disabling the specific test(-suites) on JDK 17 or we just wait for those two before we can create the pipeline. Let me know what you prefer. |
The good news is that the Spring Framework issue was solved earlier than anticipated. The bad news is that Gradle calls like the following will fail on JDK 17 - see gradle/gradle#16857 (comment)
So it's not just testing the compatibility with a specific version, but probably raising the Gradle version - which makes it hard(er) to backport to 2.5.x. I'm not sure if just excluding the failing Also: 18c7c0a moved the Gradle versions to a specific class but only in |
Yes, I think it would be. Until Gradle catches up, no one will be able to use the plugin on JDK 17 anyway so we're not risking much by not testing it for the time being.
Thanks for the offer, but we're more than happy to adapt a 2.5.x PR when we merge it forwards. |
Thanks for all your help here, @dreis2211. I've turned this isn't a documentation issue as I think that's all that remains. I've also labelled it as blocked as we don't want to document support until Java 17 has GAed. |
Well, the Gradle plugin is not tested yet due to Gradle not supporting 17. But we had this in the past as well, so I see no problem turning this into a documentation issue. |
Hi,
since JDK 17 is around the corner, I want to raise this issue to talk about the necessary steps for supporting JDK 17. I would again volunteer to help out here.
Given the impact of https://openjdk.java.net/jeps/403 we should probably start a little earlier than usual as we might need to reach out to libraries that Boot is integrating with.
Known issues so far from the top of my head - in no particular order:
JsonbTesterTests.writeArrayShouldReturnJsonContent()
fails due to JOHNZON-347SEVENTEEN
- see Add Java 17 to JavaVersion enum #26769URL.factory
via reflection - possible workaround would be to openjava.net
to the unnamed module. I don't see a cooler way here at the moment. IdeallyTomcatURLStreamHandlerFactory.disable()
would work, but my first tests didn't succeed. See Avoid illegal reflective access in CLI tests #26930AbstractServletWebServerFactoryTests.tearDown()
- Possibly similar solution with opening modules. See Allow additional JVM args when running tests via toolchain #27089JarFileTests.jarFileEntryWithEpochTimeOfZeroShouldNotFail()
fails because it tries to setxdostime
on ZipEntry, which is internal. We could disable that test for JDK 17 and higher or again fiddle around with opening up modules. See Avoid illegal reflective access on ZipEntry.xdostime #27100RabbitAutoConfigurationTests
fail because they are trying to access thecontextSpi
field onSSLContext
. See Avoid illegal reflective access in RabbitAutoConfigurationTests #26954--illegal-access=warn
anymore. The option will be ignored, so it needs to be removed. See Allow additional JVM args when running tests via toolchain #27089ConditionalOnSingleCandidateTests.singleCandidateOneScopedProxyCandidate()
fails because of the following. Haven't looked deep enough yet to see who should do what here.DevToolsWithLazyInitializationIntegrationTests.exploded remote
is flaky with this stacktrace (might be unrelated to JDK 17)Asciidoctor is apparently not running through because of the following. Maybe even unrelated(Clean build fixed it):There will be likely more that I might have overseen but I will add this to this issue once I encounter it. I'd like to get the low hanging fruits 2.) and 3.) out of the way. If you don't mind I would open a PR for those already.
Let me know what you think.
Cheers,
Christoph
The text was updated successfully, but these errors were encountered: