2017-05-03 1 views
0

Ich habe ein Webapp-Hauptprojekt, das mehrere Webfragmente verwendet. Es läuft auf Tomcat 8.Definieren Sie den Kontextparameter aus web.xml und web-fragment.xml separat

Hier in meinem web.xml Datei, habe ich einen Verweis auf Haupt Frühling Kontext wie:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     classpath*:META-INF/spring/mainCtx.xml 
    </param-value> 
</context-param> 

Und in WEB-INF/lib Ordner habe ich eine componentA.jar, die eine Web enthält -fragment.xml unter seinem eigenen META-INF Ordner (abweichend von der META-INF Ordner Haupt app):

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     classpath*:META-INF/spring/componentA_Ctx.xml 
    </param-value> 
</context-param> 

Scheint jedoch, dass Spring meine compomentA_Ctx.xml in dem Glas nicht finden kann. Wenn Sie weiterlesen, scheint es, dass, weil es einen Namen gibt contextConfigLocation in 2 Kontextdateien.

Mein Ziel ist es, kompendent A Plugability zu geben, so dass es unabhängig von der Haupt-Webapp ist. Daher möchte ich seinen Kontext separat laden.

Gibt es überhaupt eine Möglichkeit, Spring an beiden Orten nach Kontexten suchen zu lassen? Oder eine Möglichkeit, Kontexte separat in web.xml und zu definieren web-fragment.xml?

Antwort

0

Ich habe das ähnliche Problem konfrontiert, die beiden Kontexte in web.xml definieren und web-fragment.xml hat nicht funktioniert. Ich hatte es geschafft, componentA_Ctx.xml im Mail-Kontext wie unten zu importieren.

<import resource="classpath*:/META-INF/yourpath/componentA_Ctx.xml"/> 

Die obige Konfiguration ist immer noch wie eine steckbare Sache. Das Laden des Hauptkontexts schlägt nicht fehl, auch wenn keine solche Datei im Klassenpfad vorhanden ist.

Verwandte Themen