9.5. 在功能中添加依赖功能
如果您的功能依赖于其他功能,您可以通过添加功能元素作为原始
元素的子元素来指定这些依赖项。每个子 功能
功能
元素包含当前功能所依赖的功能的名称。当您使用依赖功能部署功能时,依赖项机制会检查是否在容器中安装依赖功能。如果没有,依赖项机制会自动安装缺少的依赖项(以及任何递归依赖项)。
例如,对于自定义 Apache Camel 功能( example-camel-bundle
),您可以指定它所依赖的标准 Apache Camel 功能。这有优势,现在可成功部署并运行应用程序,即使 OSGi 容器没有预部署所需的功能。例如,您可以使用 Apache Camel 依赖项定义 example-camel-bundle
功能,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<features name="MyFeaturesRepo">
<feature name="example-camel-bundle">
<bundle>file:C:/Projects/camel-bundle/target/camel-bundle-1.0-SNAPSHOT.jar</bundle>
<feature version="7.11.1.fuse-7_11_1-00013-redhat-00003">camel-core</feature>
<feature version="7.11.1.fuse-7_11_1-00013-redhat-00003">camel-spring-osgi</feature>
</feature>
</features>
指定 version
属性是可选的。当存在时,它可让您选择指定版本的功能。