如何从我的本地捆绑包创建一个Karaf功能文件?

时间:2018-04-06 19:02:25

标签: java osgi apache-karaf osgi-bundle

我想了解如何创建功能xml并在Karaf中安装以自动启动一堆我的自定义捆绑包。

我使用Maven并在我的项目中有两个模块:

  • core.api
  • core.api-IMPL

当我运行mvn clean install时,我看到以下输出:

[INFO] framework .......................................... SUCCESS [  0.340 s]
[INFO] deqa.core.api ...................................... SUCCESS [  1.555 s]
[INFO] core.api-impl ...................................... SUCCESS [  0.144 s]

我看到罐子放在我的〜/ .m2中,但不确定这是如何正确地转换成一个特征XML文件。

/.m2/repository/com/deqa/core.api-impl/1.0-SNAPSHOT/core.api-impl-1.0-SNAPSHOT.jar

理想情况下,我会为我提供几个代表一个核心功能的软件包,我希望能够轻松构建这些功能并让它们自动启动我的所有软件包。

我开始使用karaf-config文件在karaf-features.xml目录的根目录中构建功能文件:

<features
        name="osgi-demo-features"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"
        xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0
    http://karaf.apache.org/xmlns/features/v1.3.0">

    <!-- Additional repositories from which bundles are loaded -->
    <repository>mvn:org.apache.cxf.dosgi/cxf-dosgi/1.7.0/xml/features</repository>

    <feature
            name="DEQA-CORE"
            version="1.0.0"
            description="Feature for baseline DEQA API functionality"
            install="auto">

        <!-- Felix dependency manager -->
        <bundle start="true" start-level="10">
            mvn:com.deqa/deqa.core.framework.commons/1.0-SNAPSHOT
        </bundle>
    </feature>

</features>

目前还不太清楚要做什么,或者我是否完全理解这个概念。

0 个答案:

没有答案