Apache Karaf功能依赖性



在feature.xml(Apache Karaf供应机制(中,标记feature具有dependency属性。这个属性的作用是什么?

例如:

<feature dependency="true">custom-feature-name</feature>

我在哪里可以找到它的信息?

经过短暂的谷歌搜索,我只在bundle标签上找到了dependency属性:

dependency属性的作用是标记bundle是一个依赖项。如果依赖项已经得到满足(现有捆绑包已经导出相同的包/版本(,则不会安装它。如果安装了声明的功能解析程序(例如,安装了obr(,就会发生这种行为。

来源:http://karaf.922171.n3.nabble.com/features-xml-dependency-quot-true-quot-td3286359.html

但仍然没有关于特征标签的信息。

功能的依赖性定义

<feature name="${project.name}-cxf" version="${cxfVersion}" description="Gets CXF up and running." install="auto">
<feature version="${cxfVersion}" dependency="true">cxf</feature>
</feature>

意味着功能${project.name}-cxf不必启动cxf,因为它声明由其他东西提供。这确实违反直觉。谁想出了那个荒唐的用词不当的词?

要自动安装cxf,实际上应该将其设置为false。这可以通过查找功能的名称来进行更改${project.name}-cxf当依赖性="0"时;真";并且再次设置为false。

Karaf的开发人员,dependency=false应重命名为provided=true

最新更新