Apache Karaf Bundle的符号名称和版本不是唯一的

时间:2015-05-14 10:38:54

标签: maven deployment bundle apache-karaf

我正在尝试将我的OSGi包部署到Karaf中。使用link_to 'Person', @person命令部署捆绑包时,请收到以下错误消息:

bundle:install

以下是Caused by: org.osgi.framework.BundleException: Bundle symbolic name and version are not unique: servicebus:5.2.1.SNAPSHOT at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1305)[org.apache.felix.framework-4.4.1.jar:] at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:112)[org.apache.felix.framework-4.4.1.jar:] at org.apache.felix.framework.Felix.installBundle(Felix.java:2907)[org.apache.felix.framework-4.4.1.jar:] at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)[org.apache.felix.framework-4.4.1.jar:] at org.apache.karaf.bundle.command.Install.execute(Install.java:77)[63:org.apache.karaf.bundle.core:4.0.0.M2] ... 11 more 中定义的属性:

pom.xml

我将捆绑符号名称定义为<groupId>com.google.process</groupId> <artifactId>processCheck</artifactId> <packaging>bundle</packaging> <version>5.2.1-SNAPSHOT</version>

servicebus

您能否帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

可能它已经安装在Karaf的缓存中。尝试删除$karaf.home/data文件夹并重新安装。

答案 1 :(得分:0)

尝试通过

查明它是否已安装
la | grep -i "servicebus"

如果已安装,只需发出

bundle:update <id>

其中id是第一个命令找到的id。 如果找不到捆绑,就像Jorge Martinez已经说过的那样。 删除数据文件夹。 您也可以使用shell命令(如果您没有使用Windows;))

system:shutdown -r -cc

其中-cc代表clean cache目录,如果你想确保清除完整的数据文件夹(包括日志)

system:shutdown -r -ca