我在一个非常大的 java spring 项目的一小部分中有两个版本的依赖 java 库,我真的必须结合使用一段时间,但是:
- 新版本不向后兼容旧版本
- 两个版本都使用相同的类 uri
因此,我最终试图以某种方式分别实例化两个库版本,因为默认类加载器一直保留第一个实例,事情变得疯狂。我搜索了几个小时,很多人推荐 OSGi,但我不想仅仅为了这点就集成所有的框架。另外,我通过 maven 尝试了 jarjar,但我似乎没有为目标依赖 jar 工作(我认为它们无论如何都被混淆了)。所以,我试图简单地建立一个单独的 ClassLoader 来解决这个问题。你们中有人知道这样做的简单方法吗?