9.3. 为自定义功能存储库添加功能
要向自定义功能存储库添加功能,请插入一个新的 feature
元素作为根 功能
元素的子项。您必须通过插入捆绑包子元素来为功能指定名称,并且可以列出属于该功能的任何 捆绑包
。例如,添加名为 example-camel-bundle
的功能,其中包含单一捆绑包 C:\Projects\camel-bundle\camel-bundle-1.0-SNAPSHOT.jar
,添加功能元素:
<?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
命令强制内核重新读取所有功能存储库:如果您没有发布这个命令,则内核不会了解您对任何存储库所做的任何最新更改(特别是,新功能不会出现在列表中)。
为了避免通过长功能列表进行滚动,您可以按如下方式对 example-camel-bundle
功能进行 grep
:
JBossFuse:karaf@root> features:list | grep example-camel-bundle [uninstalled] [0.0.0 ] example-camel-bundle MyFeaturesRepo
其中 grep
命令(标准 UNIX 模式匹配实用程序)内置在 shell 中,因此此命令也可以用于 Windows 平台。