Ошибки транзитивной зависимости при обновлении Spring Boot до 2.1.1

Я пытаюсь обновить весеннюю загрузку до последней версии 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

Большинство библиотек джерси имеют версию 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.

  1. Как мы должны решить вышеуказанные проблемы с зависимостями? Для джерси мы должны использовать последнюю версию, то есть 2.27, а для несуществующих мы используем их соответствующие версии. Это вызвало бы какие-либо проблемы?
  2. Есть ли лучшие практики, рекомендуемые для таких ситуаций?

Я понимаю, что мы можем положиться на тесты, но я пытаюсь понять, можем ли мы выявить проблемы заранее.

1 ответ

Решение

Было решено использовать зависимость jersey-spring4 и удалить зависимость от jersey-guava.

Другие вопросы по тегам