2016-08-18 30 views

回答

0

一種方法是OSGi。您可以在OSGi環境中擁有多個版本的相同包(jar)。假設我們在OSGi運行時中有JAR-1和JAR-2,它們公開了相同的包,但是像這樣的不同版本。

JAR-1 exports > org.home.code;version=1.0.0 
JAR-2 exports > org.home.code;version=2.0.0 

現在,當一些其他jar需要org.home.code作爲依賴,它可以指定需要哪個版本。

你可以找到一些流行的OSGi實現here

0

你有兩個選擇:

第一: 喜歡這裏的描述你可以做到這一點:

Java ClassLoader: load same class twice

二:你可以只嘗試手動替換舊*.class到新的一個。如果您做了重大更改,例如添加的方法等,您可以捕獲大量例外情況。我更改了一些日誌記錄,對內部方法進行了重構,併爲我工作。

相關問題