這是一個常見問題。我正在使用2個庫A.jar和B.jar並且這些依賴於同一個jar的不同版本。
比方說,在運行時我需要THIS.xxxjarJava Classloader - 如何引用不同版本的罐子
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
我可以編譯特定的罐子(a.jar文件/ B.jar)針對其的依賴,但在運行時我已經加載僅1版。哪一個?
只加載1個依賴項(最新版本)意味着如果庫不向後兼容,我的代碼可能會拋出運行時異常(是否存在向後兼容的庫?)。
無論如何,我知道像OSGi這樣的東西可以解決這個問題。
我不知道什麼是解決這類問題的老路上...
非常感謝
是否有可能實現這個目標?OSGi如何提供幫助?我們再次在OSGi上引入了一種依賴性,這是典型產品軟件開發中的開銷(特別是對於嵌入式系統) – sskumar86 2016-08-17 10:04:45