2012-12-06 67 views
2

我使用的是apache-servicemix-4.4.1 -fuse-03-06 我有兩個版本的同一個罐子,Model-1.0.jarModel-2.0.jar。兩者都有不同的方法相同的類。在我的部署文件夾中,我有兩個藍圖項目blueprint-one.jarblueprint-two.jarblueprint-one.jar使用Model-1.0.jarblueprint-two.jar使用Model-2.0.jar如何在servicemix中使用多個jar版本

但當部署在部署文件夾兩個罐子我越來越NoSuchMethod exception

任何人都可以幫助我嗎?

回答

0

你不能有相同的類加載器加載不同版本的同一類的。你無法獲得藍圖1使用模型2嗎?

+0

我無法獲得藍圖 - 一個使用Model-1.0.jar。我非常需要使用同一個類的多個版本。有沒有一種方法可以在駱駝上下文或bean聲明部分中指定版本號? – user1278682

+0

他們需要在相同的駱駝實例下運行? – BevynQ

1

您需要使用OSGi的進口|出口,有你的2個藍圖捆綁導入他們使用(或範圍)的確切版本。所以藍圖一個導入[1.0,2)。和藍圖B導入[2.0,3)。然後,例如A導入所有1.x版本。而B導入所有2.x版本。你可以谷歌有關版本範圍的OSGi語法。

而你的模型包必須導出它們的版本號,例如1.0.0,另一個是2.0.0。

相關問題