如何在Karaf中启动软件包

时间:2013-12-30 04:29:52

标签: osgi apache-karaf blueprint-osgi

我遇到了这个post,但它并没有完全回答我的问题。我正在使用蓝图在Karaf中设置H2数据库,它要求我首先安装H2驱动程序和OSGi企业包,因为它包含JDBC库。

install -s mvn:org.osgi/org.osgi.enterprise/4.2.0
install -s mvn:com.h2database/h2/1.3.174

我将蓝图XML文件添加到了Karaf的deploy文件夹中,并且在我安装H2和企业软件包之前它一直给出错误消息。理想情况下,我想在蓝图脚本启动之前安装企业版和H2版,所以我想以某种方式将其添加到karaf的启动过程中,但我不确定如何。

任何见解都将非常感激。

2 个答案:

答案 0 :(得分:0)

一种选择是在部署捆绑包之前热部署功能XML。

有关详细信息,请参阅Karaf deployer指南。这是一个XML示例:

<features>
  <feature name="features_test">
    <bundle>mvn:org.osgi/org.osgi.enterprise/4.2.0</bundle>
    <bundle>mvn:com.h2database/h2/1.3.174</bundle>
  </feature>
</features>

答案 1 :(得分:0)

实现此目的的一种方法是将蓝图文件发布到maven仓库。这样您就可以在功能文件中引用它。查看带有目标附加工件的maven build helper插件。许多功能文件都采用了部署方式。 您还可以将蓝图文件放入普通包中。然后它也可以在karaf以外的其他容器中工作。