I am trying to upgrade spring boot to the latest version 2.1.1. My java ee based web application uses spring framework, jersey and hk2 libraries too. Identifying the dependency versions from the spring boot pom.xml we could see that it depends on spring framework 5.1.3 and jersey 2.27. Jersey libraries depend on hk2 libraries - namely org.glassfish.hk2.external:javax.inject. Below are the jersey and hk2 libraries that our application uses
Jersey libraries
1. org.glassfish.jersey.core:jersey-server
2. org.glassfish.jersey.containers:jersey-container-servlet-core
3. org.glassfish.jersey.core:jersey-client
4. org.glassfish.jersey.core:jersey-common
5. org.glassfish.jersey.bundles.repackaged:jersey-guava
6. org.glassfish.jersey.ext:jersey-spring3
7. org.glassfish.jersey.containers:jersey-container-servlet
8. org.glassfish.jersey.media:jersey-media-jaxb
9. org.glassfish.jersey.media:jersey-media-json-jackson
10. org.glassfish.jersey.ext:jersey-entity-filtering
HK2 libraries
1. org.glassfish.hk2:spring-bridge
2. org.glassfish.hk2:hk2-api
3. org.glassfish.hk2:hk2-utils
4. org.glassfish.hk2:hk2-locator
5. org.glassfish.hk2.external:javax.inject
6. org.glassfish.hk2.external:aopalliance-repackaged
Most of the jersey libraries are at version 2.27 except the two libraries - org.glassfish.jersey.bundles.repackaged:jersey-guava & org.glassfish.jersey.ext:jersey-spring3. Their latest version is 2.25.1.
For hk2 (org.glassfish.hk2.external:javax.inject), the latest version is 2.4.0.
I understand that we could rely on tests but I am trying to see if we could identify issues upfront.
The resolution was to use jersey-spring4 dependency and remove the dependency to jersey-guava.