-
Notifications
You must be signed in to change notification settings - Fork 40.8k
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
spring-boot-dependencies library incompatibility between jetty and jersey #19769
Comments
Thanks for letting us know. Unfortunately, I don’t think there’s much we can do about this in 2.2.x. We can’t stay on Jetty 9.4.21 as Boot’s Jetty users would miss out on important bug fixes. Equally, we can’t upgrade to Jersey 2.30 as not all of Boot’s Jersey users will want to pick up a new minor release of Jersey in a maintenance release of Boot. Ideally, Jetty maintenance releases would not contain breaking API changes. I suspect this particular change can’t be made in a backwards compatible manner but you may want to raise an issue to see if it can or if it can be reverted. Failing that, a Jersey 2.29.x that is Jetty 9.4.22+ compatible could be released. This would allow Jetty 9.4.x and Jersey 2.29.x to use the latest versions of both without having to move to a new minor. You may want to suggest this to the Jersey team. In the meantime, you can override the managed version of Jersey to meet your needs. |
That makes sense. Thanks for the context and suggestions. I'll check in with the jetty and jersey teams for options. |
Thank you for creating the issue @NielsDoucet! |
Just updated to Spring Boot 2.3.1.RELEASE - this issue appears to be resolved in that version at least. (Probably also in 2.3.0.RELEASE, but didn't test it there) |
The spring-boot-dependencies bom version 2.2.2.RELEASE manages both jersey and jetty versions.
org.eclipse.jetty:jetty-util:9.4.24.v2191120 and org.glassfish.jersey.containers:jersey-container-jetty-http:2.29.1 are incompatible due to a change in jetty's api since version 9.4.22.v20191022.
The incompatibility was fixed in jersey version 2.30 (see eclipse-ee4j/jersey@1504174).
The resulting error
Simple test case illustrating the problem.
Make sure to add
org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty
to the test runtime.The text was updated successfully, but these errors were encountered: