2012-03-28 6 views
0

Ich entwickle 2 Jar-Dateien (jar1 und jar2 - der Verpackungstyp in pom.xml von 2 Gläsern ist jar) und installierte sie in serviceMix. Jar1 wird einige Packakes von jar2 verwenden.jar bundle und sein Klassenpfad in ServiceMix-karaf

In den manifest.mf-Dateien habe ich den Import und Export für jar1 und jar2 verwendet. Nach der Installation in ServiceMix 4.3.0. Alles läuft fast gut. Von jar 1 kann ich Pakete in jar2 verwenden (das weiß ich, indem ich den Code debugge). Aber das Problem ist hier:

The structure of Jar2: 
    jar2:/ 
     . 
     com 
       abc 
        .......(classes) 
     META-INF 
       MANIFEST.MF 
     FactoryContext.xml 

The short version of jar2's MANIFEST.MF is 
    Bundle-ClassPath: . 
    Bundle-Name: jar2 
    Bundle-SymbolicName: jar2 
    Bundle-Version: 1.0.0 
    Export-Package: com.abc 
    Import-Package: xyz 
    Tool: Bnd-1.50.0 

Jar1 ein Verfahren zur Jar2 nennen, das Verfahren unter Verwendung von unten Anweisung

Kontext = new ClassPathXmlApplicationContext ("FactoryContext.xml");

Immer, wenn diese Anweisung ausgeführt wird, wird immer die Ausnahme ausgelöst, dass FactoryContext.xml nicht existiert. (Ich Gast diese Datei ist nicht im Klassenpfad)

Wissen Sie, wie es funktioniert?

+0

mit breiter "osgi" Tag Retagged, dann ist dies zu Karaf/ServiceMix nicht spezifisch und können Sie einige weitere Ansichten erhalten. – earcam

+0

Danke Earcam. – David

Antwort

1

Ich habe auch meine Frage auf ServiceMix Forum geschrieben und ich habe die Antwort von Freeman-2. Hier ist die Antwort

You can try to put FactoryContext.xml in a unique folder like META- 
INF/MyFactoryContext/FactoryContext.xml, then jar2 also export package 
META-INF.MyFactoryContext, and jar1 import package META- 
INF.MyFactoryContext, and then should be able to use code like 
context = new ClassPathXmlApplicationContext("META-INF/ 
MyFactoryContext/FactoryContext.xml"); 
in jar1. 

Hier ist der Link http://servicemix.396122.n5.nabble.com/question-about-jar-bundle-and-classpath-td5602052.html

+0

+1 froh, dass Sie es gelöst und die Antwort gegeben haben – earcam