Spring-context:component-scan nicht finden-Komponenten in einem anderen Eclipse-Projekt die Abhängigkeit verwiesen POM

Arbeite ich an einer GWT-Webanwendung verteilt über zwei Eclipse-Projekte (myclient & myservice).

Den myclient Projekt Verweise auf die myservice Projekt über eine Abhängigkeit in der POM.

<dependency>
<groupId>com.myproject</groupId>
<artifactId>myservices</artifactId>
<version>1.0.0</version>
</dependency>

Den myclient Projekt hat einen KRIEG-Verzeichnis src/main/webapp. Die Ausgabe-Ordner für die myclient Projekt ist src/main/webapp/WEB-INF/classes.

Den myclient Projekt hat eine Feder-Deskriptor application-context.xml mit den folgenden

<context:component-scan base-package="com.myproject.myclient, com.myproject.myservices"/>

und die web.xml

<web-app>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/application-context.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener> 
...
</web-app>

Ich habe mehrere Dateien in der myservices-Projekt, kommentierte, wie der Frühling @Component, @Service, @ - Konfiguration, aber diese werden nicht aufgegriffen, indem die Komponente scan wenn ich die GWT-Anwendung in Eclipse. Als test habe ich experimentierte mit der Platzierung eine @Komponente in der myclient Projekt und dieser wurde erfolgreich erstellt.

Ich glaube, der folgende log-Eintrag beim starten der Anwendung zeigt die Quelle des Problems

org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:com/myproject/myservices/**/*.class] to resources []

den Standort Muster für die myclient-Projekt aufgelöst wird, um alle Ressourcen auf den classpath, aber für myservices keine Ressourcen gefunden werden.

Experimentierte ich mit dem Bau der myservices-Projekt JAR und platzieren diese JAR-Datei in den src/main/webapp/WEB-INF/lib-Ordner des myclient Projekt. Wenn ich dies mache die Komponente funktioniert das Scannen. Aber für die Entwicklung, die ich nicht haben will zu erstellen und kopieren der JAR-jedesmal, wenn ich änderungen an der myservices-Projekt. Ich kann mir vorstellen, dass die Komponente Scannen sollten arbeiten an einem Projekt verwiesen wird, durch die POM zimmerreserviereung, ohne das Sie das bauen, das Projekt aber nach viel Experimentieren, ich habe nicht in der Lage, damit es funktioniert.

  • Welche IDE benutzt du ?
  • Eclipse Helios
InformationsquelleAutor Josh | 2013-02-25
Schreibe einen Kommentar