2017-11-11 4 views
0

ich ein Glas x habe, die eine Klasse hat wieExterner Spring-Konfiguration * .xml-Datei des jar nicht gefunden

import org.springframework.context.annotation.Configuration; 
import org.springframework.context.annotation.ImportResource; 
@Configuration 
@ImportResource({ "/WEB-INF/assembly/appconfig.xml" }) 
public class DSPPlatformCommonSiteDefConfig {} 

nun in einem anderen Projekt zusammen, habe ich dieses Glas als Abhängigkeit hinzugefügt.

Und importieren diese Klasse wie:

@Configuration 
@Import(DSPPlatformCommonSiteDefConfig.class) 
public class ApplicationConfiguration { 

}

Also im Grunde bin ich mit Spring-Konfigurationsdatei von einem Glas in meinem Projekt.

Aber wenn ich meine Anwendung ausführen ich diesen Fehler:

Nachricht: java.io.FileNotFoundException: Classpath Ressource [WEB-INF/Montage/AppConfig.xml] kann nicht geöffnet werden, da es nicht existiert org.springframework.beans.factory.BeanDefinitionStoreException: IOException analysiert das XML-Dokument aus der Klassenpfadressource [WEB-INF/assembly/appconfig.xml]; geschachtelte Ausnahme ist java.io.FileNotFoundException: Klassenpfadressource [WEB-INF/assembly/appconfig.xml] kann nicht geöffnet werden, weil sie nicht existiert

Ich verstehe nicht, warum es im Klassenpfad sucht. Und selbst wenn, dann ist das Glas in meinem Klassenpfad.

+0

Hallo Vishal, kann ich nicht diese externe jar ändern. –

Antwort

0

Ihr Problem scheint bei der Pfadangabe für die location innerhalb der @ImportResource Annotation zu sein. Der Pfad sollte der URI der Datei sein, der nicht der von Ihnen deklarierte sein darf.

Ein Beispiel hierfür könnte der folgende Pfad sein:

@ImportResource(locations={ "file:com/yourProjectName/assembly/appconfig.xml" }) 
+0

Vielen Dank für Ihre Antwort. Ja! Das scheint richtig. Aber da es ein externes Glas ist, kann ich es nicht ändern. –

+0

Haben Sie die richtigen Berechtigungen zum Dekompilieren der JAR-Klassen? –

Verwandte Themen