如何在apache karaf中安装和运行osgi bundle

时间:2012-07-09 11:20:40

标签: java apache osgi bundle

我有一个简单的问题。 我按照这个tutorial创建了一个HelloWorld osgi包。 如何使用apache Karaf安装和启动此捆绑包? 如何使用osgi:install命令引用bundle?

谢谢。

3 个答案:

答案 0 :(得分:6)

您可以将捆绑包放入“deploy”目录,而Karaf只是注意并安装它。

答案 1 :(得分:5)

好的,这是另一个问题,但这里有:

你几乎走在正确的轨道上,我已经测试了你链接到的Karaf开发者指南中的那个(第二个 mvn调用)。文档不太正确,我需要改变两件事:

  • 版本已关闭,2.2.5可以正常工作(在我的机器上),将其更改为2.2.8似乎有所帮助。
  • 包名称为com.mycompany.package。由于package是一个关键字,不会编译,因此我将其更改为com.mycompany.bundle。

所以我的archetype命令是:

mvn archetype:generate \
-DarchetypeGroupId=org.apache.karaf.archetypes \
-DarchetypeArtifactId=karaf-bundle-archetype \
-DarchetypeVersion=2.2.8 \
-DgroupId=com.mycompany \
-DartifactId=com.mycompany.bundle \
-Dversion=1.0-SNAPSHOT \
-Dpackage=com.mycompany.bundle

然后我进入了新制作的项目文件夹:com.mycompany.bundle:

cd com.mycompany.bundle

安装mvn:

mvn install

然后在'target /'文件夹中有一个jar文件,你可以像我之前说的那样安装到Karaf安装中。

在Eclipse中创建一个包

  • 新 - >插件项目 - >选择一个名称 - >检查参数 - >如果您愿意,可以使用模板。

  • 选择您的项目 - >出口 - >插件/片段 - >选择一个文件夹

有你的jar文件。

答案 2 :(得分:1)

弗兰克的回答很快帮助了我:
我用这个原型创建了一个包:


    mvn archetype:generate \
    -DarchetypeGroupId=org.apache.karaf.archetypes \
    -DarchetypeArtifactId=karaf-bundle-archetype \
    -DarchetypeVersion=2.2.8 \
    -DgroupId=com.mycompany \
    -DartifactId=com.mycompany.bundle \
    -Dversion=1.0-SNAPSHOT \
    -Dpackage=com.mycompany.bundle
然后我做了mvn eclipse:eclipsemvn install。 将生成的jar复制到运行的JBoss Fuse服务器的deploy目录后,打印出“Starting the bundle”。 :-)