2

我正在使用apache-servicemix-4.4.1 -fuse-03-06 我有两个版本的相同 jarModel-1.0.jarModel-2.0.jar. 两者都有相同的类和不同的方法。在我的部署文件夹中,我有两个蓝图项目blueprint-one.jarblueprint-two.jar. blueprint-one.jar用途Model-1.0.jarblueprint-two.jar用途Model-2.0.jar

但是当在部署文件夹中部署两个 jar 时,我得到NoSuchMethod exception.

谁可以帮我这个事?

4

2 回答 2

1

您需要使用 OSGi 导入|导出并让您的 2 个蓝图包导入它们使用的确切版本(或范围)。所以蓝图 A 导入 [1.0,2)。和蓝图 B 导入 [2.0,3)。然后例如 A 导入所有 1.x 版本。并且 B 导入所有 2.x 版本。您可以在 Google 上搜索版本范围的 OSGi 语法。

并且您的模型包必须导出它们的版本号,例如 1.0.0,另一个是 2.0.0。

于 2012-12-07T07:10:58.137 回答
0

你不能让同一个类加载器加载同一个类的不同版本。你不能得到蓝图1来使用模型2吗?

于 2012-12-06T02:45:01.767 回答