Java Karaf:两个不同的特性依赖于具有不同版本的同一个库 mvn:org.antlr/antlr4 runtime/4.5.3 wrap:mvn:org.antlr/antlr4 runtime/4.0

Java Karaf:两个不同的特性依赖于具有不同版本的同一个库 mvn:org.antlr/antlr4 runtime/4.5.3 wrap:mvn:org.antlr/antlr4 runtime/4.0,java,osgi,apache-karaf,osgi-bundle,karaf,Java,Osgi,Apache Karaf,Osgi Bundle,Karaf,我有两个使用antlr4运行时的特性,但版本不同。antlr的运行时类从这两个功能的4.5.3版本加载。我们能否以某种方式配置karaf,使其在一个功能中使用同一个库的一个版本,在第二个功能中使用另一个版本?无需对karaf容器进行显式配置。在构建bundle时,您需要提到消费bundle(使用的bundle)中的特定版本(antlr bundle)。因为karaf(OSGi容器)接受不同版本的相同捆绑包的部署。这是OSGI容器的主要优点之一。无需对Karaf容器进行显式配置。在构建bundle

我有两个使用antlr4运行时的特性,但版本不同。antlr的运行时类从这两个功能的4.5.3版本加载。我们能否以某种方式配置karaf,使其在一个功能中使用同一个库的一个版本,在第二个功能中使用另一个版本?

无需对karaf容器进行显式配置。在构建bundle时,您需要提到消费bundle(使用的bundle)中的特定版本(antlr bundle)。因为karaf(OSGi容器)接受不同版本的相同捆绑包的部署。这是OSGI容器的主要优点之一。

无需对Karaf容器进行显式配置。在构建bundle时,您需要提到消费bundle(使用的bundle)中的特定版本(antlr bundle)。因为karaf(OSGi容器)接受不同版本的相同捆绑包的部署。这是OSGI容器的主要优点之一。

您应该看看功能中的其他JAR。在JAR的清单文件中,如果您声明对org.antlr 4.0中的包的依赖关系,这意味着版本4.0是适合的最低版本,因此版本4.5.3也适合。如果需要更多信息,您可以查看此页面:

您应该查看功能中的其他jar。在JAR的清单文件中,如果您声明对org.antlr 4.0中的包的依赖关系,这意味着版本4.0是适合的最低版本,因此版本4.5.3也适合。如果您需要更多信息,可以查看此页面:

<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>