我有一个简单的问题。我按照本教程创建了一个 HelloWorld osgi 包。如何使用 apache Karaf安装和启动这个包?如何使用 osgi:install 命令引用捆绑包?
谢谢你。
您可以将捆绑包放入“部署”目录,Karaf 会注意到并安装它。
好的,这是另一个问题,但这里是:
您几乎走在正确的轨道上,我已经测试了您链接到的 Karaf 开发人员指南中的那个(第二个mvn 调用)。文档不太正确,我需要更改两件事:
所以我的原型命令是:
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安装中。
新建 -> 插件项目 -> 选择名称 -> 检查参数 -> 如果您愿意,可以使用模板。
选择您的项目 -> 导出 -> 插件/片段 -> 选择一个文件夹
有你的jar文件。
弗兰克的回答很快帮助了我:
我用这个原型创建了一个包:
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:eclipse
和mvn install
。将生成的 jar 复制到我正在运行的 JBoss Fuse 服务器的部署目录后,它会打印“Starting the bundle”。:-)