它出现在 karaf 中,如果 kar 文件 A 具有依赖于 kar 文件 B 中的某个功能的功能,并且 kar 文件 A 在 B 之前加载,则 kar 文件 A 中的功能安装将失败,说明存在未解决的依赖关系。
捆绑开始级别似乎没有什么不同。
有什么方法可以控制首先加载哪个 kar 文件?或者一种解决跨kar依赖的方法?或者甚至是让 karaf在加载所有kar 文件之前不尝试安装任何捆绑包/功能的方法?
它出现在 karaf 中,如果 kar 文件 A 具有依赖于 kar 文件 B 中的某个功能的功能,并且 kar 文件 A 在 B 之前加载,则 kar 文件 A 中的功能安装将失败,说明存在未解决的依赖关系。
捆绑开始级别似乎没有什么不同。
有什么方法可以控制首先加载哪个 kar 文件?或者一种解决跨kar依赖的方法?或者甚至是让 karaf在加载所有kar 文件之前不尝试安装任何捆绑包/功能的方法?
据我所知,现在不可能,因为 KAR 部署者认为 KAR 文件是完整的。如果您需要此类依赖项,我建议使用普通 features.xml 文件。
我不确定你这是否回答了你的问题。但是可以在 Apache Karaf 中使用 bundle-start 级别标签来控制 bundle 加载的顺序。
例如
<?xml version="1.0" encoding="UTF-8" ?>
<features name="cxl_esb_features">
<feature name="cxl_camel_routes">
<feature>camel-jms</feature>
<bundle start-level="81">mvn:org.apache.commons/com.springsource.org.apache.commons.collections/3.2.1</bundle>
<bundle start-level="82">mvn:org.apache.commons/com.springsource.org.apache.commons.lang/2.6.0</bundle>
</feature>
</features>