2016-05-09 11 views
0

Ich möchte ein Paket (wenn es nicht bereits installiert ist) von Maven auf Karaf neu starten. So dies zu erreichen, ich es in den /etc/startup.properties hinzugefügt, wie unten: -Bündel aus Maven auf Karaf installieren Neustart fehlgeschlagen auf Karaf 3.0.5

# add here bundles you want to install while system startup, e.g. 
# joda-time/joda-time/2.9/joda-time-2.9.jar=10 
mvn\:com.fasterxml.jackson.core/jackson-annotations/2.7.4 = 10 

Aber ich versuche zu starten karaf bin die unter Ausnahme bekommen: -

jabongs-MacBook-Pro-4:apache-servicemix-6.1-2.0 debraj$ bin/servicemix 
Please wait while Apache ServiceMix is starting... 
Error installing bundle listed in startup.properties with url: mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.4 and startlevel: 10 
Exception in thread "main" java.lang.NullPointerException 
    at org.apache.karaf.main.Main.destroy(Main.java:533) 
    at org.apache.karaf.main.Main.main(Main.java:173) 

Das gleiche Paket installiert in Ordnung, wenn ich versuche, es über den folgenden Befehl zu installieren, nachdem Karaf begonnen hat: -

[email protected]>bundle:install mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.4 
Bundle ID: 237 

jemand mir in der folgenden helfen: -

  1. Warum schlägt die Installation des Pakets beim Start von Karaf fehl?
  2. Ich sehe den Fehler nur, wenn Karaf zum ersten Mal gestartet wird. Danach sehe ich den obigen Fehler nicht, noch ist das Bundle installiert. So ist es, dass Karaf versucht, das Paket in startup.properties nur zu installieren, wenn es zum ersten Mal gestartet wird?
  3. Wenn die Antwort auf #2 ja ist, gibt es einen anderen Ort in Karaf, wo ich den Bundle-Namen platzieren kann, so dass Karaf versucht es jedes Mal zu installieren (wenn es nicht bereits installiert ist) beim Neustart?

Umgebung: -

  • Karaf 3.0.5
  • Apache Serviemix 6.1.0

Antwort

1

Die MVN: url Resolver ist wahrscheinlich nicht verdrahtet. Versuchen Sie, es ohne den mvn hinzuzufügen: und stellen Sie sicher, dass sich das jar im System/Ordner befindet.

Wenn dies für Business-Code und nicht Container/Produkterweiterung Typencode die beste Wahl ist, eine Funktion zu bauen, und fügen Sie die etc/org.apache.karaf.features.cfg featuresBoot

+0

ich getan habe was du vorgeschlagen hast. Es wurde eine 'features.xml' erstellt und zur'/etc/org.apache.karaf.features.cfg' '' featureBoot' hinzugefügt und funktioniert gut. – tuk