2016-05-16 32 views
0
<feature name="featureA" version="1.1.8"> 
    <bundle start-level="80">mvn:org.antlr/antlr4-runtime/4.5.3</bundle> 
</feature> 
<feature name="featureB" version="1.1.8"> 
    <bundle start-level="80">wrap:mvn:org.antlr/antlr4-runtime/4.0</bundle> 
</feature> 

我有两个功能使用antlr4运行时,但它的不同版本。在运行时,针对antlr的类从两个功能的4.5.3版本加载。我们可以配置karaf以某种方式将一个版本的同一个库用于一个功能,另一个用于第二个功能?卡拉夫:两个不同的功能取决于不同版本的相同库

回答

2

没有必要为Karaf容器做显式配置。在构建捆绑包时,您需要提及使用捆绑包(使用的捆绑包)中的特定版本(antlr捆绑包)。由于karaf(OSGi容器)接受不同版本的相同捆绑包的部署。这是OSGI容器的主要优点之一。

0

你应该看看你的功能中的其他罐子。如果你从org.antlr 4.0声明了一个包的依赖关系,那么你的jar包的清单文件就意味着4.0版是适合4.5.3版的最低版本。如果您需要更多信息,您可以查看此页面:osgi-version

相关问题