Apache Karaf功能依赖项

时间:2018-07-23 14:38:09

标签: apache-karaf karaf

在feature.xml(Apache Karaf供应机制)中,标签feature具有dependency属性。此属性有什么作用?

例如:

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

我在哪里可以找到任何信息?

在简短的谷歌搜索之后,我仅在dependency标签上找到了bundle属性:

  

依赖项属性的作用是标记捆绑是依赖项。如果已经满足依赖关系(现有的捆绑包已经导出了相同的软件包/版本),则不会安装它。如果已安装声明的功能解析器(例如,已安装obr),则会发生此行为。

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

但是,仍然没有有关功能标签的信息。

1 个答案:

答案 0 :(得分:1)

似乎在

功能的依赖项定义

<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。可以通过在dependency =“ true”时查找功能$ {project.name} -cxf的名称并再次将其设置为false来更改此名称。

dependency=false应该重命名为provided=true