9.5. 在该功能中添加依赖功能
如果您的功能依赖于其他功能,可以通过添加 feature
元素作为原始 feature
元素的子项来指定这些依赖项。每个子 功能
元素都包含当前功能依赖的功能名称。当您使用依赖功能部署功能时,依赖项机制会检查容器中是否安装了依赖功能。如果没有,依赖项机制会自动安装缺少的依赖项(以及任何递归依赖项)。
例如,对于自定义 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
属性是可选的。存在时,它可让您选择指定的功能版本。