2017-12-19 5 views
0
gefunden

ich drei Maven Projekte in eclipsew haben:context.xml während des Einsatzes nicht

webapp, serviceimpl und soa.

webapp Projekt enthält serviceimpl und soa Projekte als Maven Abhängigkeiten (aber als Eclipse-Projekte nicht wie Gläser!)

In Eclipse ich die Anwendung erfolgreich aufbauen kann. Wenn es darum geht auf der Tomcat server v7.0 in Eclipse die Anwendung bereitstellen, erhalte ich folgende Fehlermeldung:

2017-12-19 09:58:35,591 INFO info.magnolia.module.ModuleManagerImpl   : Starting module xyzwhatever 
Dez 19, 2017 9:58:35 AM org.apache.catalina.core.ApplicationContext log 
INFORMATION: Initializing Spring root WebApplicationContext 
2017-12-19 09:58:36,070 ERROR org.springframework.web.context.ContextLoader  : Context initialization failed 
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:META-INF/xyzwhatever-serviceimpl-context.xml] 
Offending resource: class path resource [applicationContext.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/xyzwhatever-serviceimpl-context.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/xyzwhatever-serviceimpl-context.xml] cannot be opened because it does not exist 

Aber wenn ich für die erzeugte JAR aussehen genannt (das wurde während der Maven Build-Prozess generiert) serviceimpl-2.0.0-SNAPSHOT.jar es enthält META-INF/xyzwhatever-serviceimpl-context.xml . Ich habe die JAR überprüft, die in der lokalen Maven-Repository .m2/... generiert wurde und die in der generated Ordner der Anwendung generiert. Beide enthalten die Datei xml.

Warum tritt der Fehler während der Bereitstellung auf? Stimmt etwas nicht mit der classpath?

Antwort

0

OK die Lösung ist: in meinen verschiedenen XML-Dateien musste ich ändern:

<import resource="classpath:xyzwhatever-serviceimpl-context.xml"/>

zu

<import resource="classpath*:xyzwhatever-serviceimpl-context.xml"/>

So ist der Stern (*) es sein muss!

Verwandte Themen