9.3. 在自定义功能存储库中添加功能
要在自定义功能存储库中添加功能,请插入一个新的 feature
元素作为根 features
元素的子部分。您必须命名该功能,并通过插入 bundle
子元素来列出属于该功能的任意数量的捆绑包。例如,要添加名为 example-camel-bundle
的功能,其中包含单个捆绑包 C:\Projects\camel-bundle\target\camel-bundle-1.0-SNAPSHOT.jar
,请添加 feature
元素:
<?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>
</features>
bundle
元素的内容可以是任何有效的 URL,提供捆绑包的位置(请参阅 第 15 章 URL 处理程序)。您可以选择在 feature 元素上指定一个 version
属性,为该功能分配非零版本(您可以将版本指定为 features:install
命令的可选参数)。
要检查功能服务是否成功解析新的功能条目,请输入以下命令:
JBossFuse:karaf@root> features:refreshurl JBossFuse:karaf@root> features:list ... [uninstalled] [0.0.0 ] example-camel-bundle MyFeaturesRepo ...
features:list
命令通常会生成长的功能列表,但您应能够通过滚动浏览列表来查找新功能(本例中为 example-camel-bundle
)的条目。features:refreshurl
命令强制内核重新读取所有功能存储库:如果您没有发出此命令,内核将不知道您对任何存储库所做的任何最新更改(特别是,新功能不会出现在列表中)。
要避免滚动到长的功能列表,您可以 grep
example-camel-bundle
功能,如下所示:
JBossFuse:karaf@root> features:list | grep example-camel-bundle [uninstalled] [0.0.0 ] example-camel-bundle MyFeaturesRepo
其中 grep
命令(标准 UNIX 模式匹配实用程序)内置在 shell 中,因此此命令也适用于 Windows 平台。