Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在servicemix中使用多个jar版本_Java_Apache Camel_Apache Servicemix_Blueprint Osgi - Fatal编程技术网

Java 如何在servicemix中使用多个jar版本

Java 如何在servicemix中使用多个jar版本,java,apache-camel,apache-servicemix,blueprint-osgi,Java,Apache Camel,Apache Servicemix,Blueprint Osgi,我使用的是apache-servicemix-4.4.1-fuse-03-06 我有两个版本的jar,Model-1.0.jar和Model-2.0.jar。两者都有相同的类和不同的方法。在部署文件夹中,我有两个blueprint项目blueprint one.jar和blueprint two.jarblueprint one.jar使用Model-1.0.jar和blueprint two.jar使用Model-2.0.jar 但当在deploy文件夹中部署两个JAR时,我得到的是NoSuc

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

但当在deploy文件夹中部署两个JAR时,我得到的是
NoSuchMethod异常


有人能帮我吗?

不能让同一个类加载器加载同一类的不同版本。您是否无法让blueprint 1使用模型2?

您需要使用OSGi导入|导出,并让您的2个blueprint捆绑包导入其使用的确切版本(或范围)。所以blueprint A导入[1.0,2]。blueprint B导入[2.0,3]。然后,例如A导入所有1.x版本。B导入所有2.x版本。你可以在谷歌上搜索版本范围的OSGi语法


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

我无法让blueprint one使用model-1.0.jar。我迫切需要使用同一类的多个版本。有没有办法在camel上下文或bean声明部分指定版本号?它们需要在相同的c语言下运行阿米尔的例子?