Я пытаюсь обновить Spring Boot до последней версии 2.1.1. В моем веб-приложении на основе java ee также используются библиотеки spring framework, jersey и hk2. Идентифицируя версии зависимостей из весенняя загрузка pom.xml, мы могли видеть, что это зависит от Spring framework 5.1.3 и jersey 2.27. Библиотеки Джерси зависят от библиотек hk2, а именно org.glassfish.hk2.external: javax.inject. Ниже приведены библиотеки jersey и hk2, которые использует наше приложение.
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
Большинство библиотек jersey имеют версию 2.27, за исключением двух библиотек - org.glassfish.jersey.bundles.repackaged: jersey-guava и org.glassfish.jersey.ext: jersey-spring3. Их последняя версия - 2.25.1.
Для hk2 (org.glassfish.hk2.external: javax.inject) последняя версия - 2.4.0.
Я понимаю, что мы можем полагаться на тесты, но я пытаюсь выяснить, сможем ли мы заранее выявить проблемы.
Решением было использовать зависимость jersey-spring4 и удалить зависимость от jersey-guava.
Я бы лично пошел с последней версией hk2. Предполагается, что он обратно совместим и был уже некоторое время, так что все должно быть в порядке.