【发布时间】:2018-12-18 07:28:01
【问题描述】:
我正在尝试将 Spring Boot 升级到最新版本 2.1.1。我的基于 java ee 的 Web 应用程序也使用了 spring 框架、jersey 和 hk2 库。从spring boot pom.xml 中识别依赖版本,我们可以看到它依赖于spring framework 5.1.3 和jersey 2.27。 Jersey 库依赖于 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
除了 org.glassfish.jersey.bundles.repackaged:jersey-guava 和 org.glassfish.jersey.ext:jersey-spring3 这两个库之外,大多数球衣库都是 2.27 版。他们的最新版本是 2.25.1。
对于hk2(org.glassfish.hk2.external:javax.inject),最新版本是2.4.0。
- 我们应该如何解决上述依赖问题?对于球衣,我们是否应该使用最新版本,即 2.27,对于不存在的我们使用各自的版本。这会引起任何问题吗?
- 是否有针对此类情况的最佳做法推荐?
我知道我们可以依靠测试,但我想看看我们是否可以提前发现问题。
【问题讨论】:
-
我个人会选择最新版本的 hk2。它应该是向后兼容的并且已经有一段时间了,所以你应该没问题
标签: java spring spring-boot jersey hk2