这是一个常见的问题。我正在使用 2 个库A.jar和B.jar,它们依赖于同一个 jar 的不同版本。
假设在运行时我需要THIS.xxxjar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
我可以针对其依赖项编译特定的 jar (A.jar/B.jar),但在运行时我只需要加载 1 个版本。哪一个?
仅加载 1 个依赖项(最新版本)意味着如果库不向后兼容(是否有向后兼容的库?),我的代码可能会引发运行时异常。
无论如何,我知道像 OSGi 这样的东西可以解决这个问题。
我想知道解决此类问题的旧方法是什么...
非常感谢