战争和依赖罐所需的多个弹簧核心版本



我有使用 Java 8 的应用程序代码,为此我已经将 Spring 版本升级到 4.1.9,但其中一个需要的 jar 依赖于 spring-core 3.2.4,这就是为什么战争被 Spring Jar 的 2 个版本打包在一起的原因。 因此,我遇到了部署错误。

请就以下问题提供帮助

1> 我可以通过从战争包装或其他东西中排除 3.2.4 来强制所需的 JAR 使用 Spring 版本 4.1.9 吗?

2> 我可以创建单独的上下文来初始化我使用 spring 3.2.4 从所需的 JAR 获得的 Bean

谢谢

我不推荐这样的混合体,即使你可以以某种方式管理它才能正常工作。

我要做的是分析应用程序,以发现哪些部分需要旧版本,哪些部分需要新版本。然后,我将应用程序拆分为两个不同的子模块,分别部署它们。如果您使用容器化(例如 Docker(,这是非常便宜的。

模块可以并且应该能够通过REST,Soap,gRPC或代理(如ActiveMQ(进行通信以进行消息传递。

更好的方法是绝对坚持使用较新的版本,如果可能的话,升级不兼容的组件。

您还可以注册适配器组件,这些组件委托给较旧的/要升级的组件。这将允许您重构旧代码,同时保持标准化接口。

最新更新