2015-05-14 1 views
0

Я пытаюсь развернуть свой комплект OSGi в Karaf. При развертывании сверток с помощью bundle:install команды, получая ниже сообщение об ошибке:Apache Karaf Bundle символическое имя и версия не уникальны

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:

<Bundle-SymbolicName>servicebus</Bundle-SymbolicName> 

Не могли бы вы помочь мне решить эту проблему.

ответ

1

Возможно, он уже установлен в кеше Karaf. Попробуйте удалить папку $karaf.home/data и установить ее еще раз.

0

Постарайтесь выяснить, если он уже установлен

la | grep -i "servicebus" 

, если она уже установлена ​​только выпустить

bundle:update <id> 

где идентификатор идентификатор найден с первой командой. Если ни один пучок не найден, сделайте, как уже заявил Хорхе Мартинес. Удалить папку с данными. Вы могли бы также сделать это с помощью команды оболочки (если вы не используете окна;))

system:shutdown -r -cc 

где -cc означает чистую директорию кэша, если вы хотите, чтобы убедиться, что полная папка данных продувают (включая журнал)

system:shutdown -r -ca