战争和依赖jar需要多个spring core版本

时间:2019-03-26 18:36:28

标签: java spring war

我有使用Java 8的应用程序代码,同样,我已经将Spring版本升级到4.1.9,但是所需的jar之一依赖于spring-core 3.2.4,这就是为什么war挤满了2弹簧罐的版本。由于这个原因,我遇到了部署错误。

请在以下问题上提供帮助

1>我可以通过从战争包装或其他物品中排除3.2.4来强制所需的jar使用4.1.9春季版本吗?

2>我可以使用Spring 3.2.4从所需的jar中创建用于初始化bean的单独上下文吗

谢谢

1 个答案:

答案 0 :(得分:1)

即使您可以设法以某种方式使其正常工作,我也不推荐这样的混合动力。

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

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

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

您还可以注册适配器组件,这些组件委派给较旧的/要升级的组件。这样一来,您就可以在保持标准化接口的同时重构旧代码。