2016-05-16 53 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

相關問題