ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

Problem

MitContextLoaderListener wird Spring in andere Webanwendungen integriert.

  
 
    contextConfigLocation
    /WEB-INF/Spring/applicationContext.xml
  

  
    
          org.springframework.web.context.ContextLoaderListener
    
  

Die häufigste Fehlermeldung lautet, dass Ihr Server die SpringContextLoaderListener-Klasse beim Serverstart nicht finden kann.

SEVERE: Error configuring application listener of class
org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException:

org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Lösung

Dies ist immer in der Deployment- und Debugging-Umgebung der Fall.

1.Deployment environment

Stellen Sie in der Implementierungsumgebung lediglich sicher, dass in Ihrem Serverklassenpfad die Spring-JAR-Bibliothek enthalten ist (z. B. spring-2.5.6.jar).

For Spring3,ContextLoaderListener wird nachspring-web.jar verschoben. Sie können die Bibliothek aus dem zentralen Maven-Repository abrufen.

    
        org.springframework
        spring-web
        3.0.5.RELEASE
    

2.Debugging environment

In der Debugging-Umgebung können die Schritte von der jeweiligen IDE abweichen, die Lösung ist jedoch identisch. In Eclipse erstellen Entwickler in der Regel einen Tomcat, einen JBoss. Unabhängig vom Anwendungsserver für das Debuggen müssen Sie nur sicherstellen, dass die richtigen Spring-Jars enthalten sind.

1. Doppelklicken Sie auf Ihren Debugging-Server
2. Klicken Sie auf "Open launch configuration", um auf die Serverumgebung zuzugreifen

image

3. Klicken Sie auf die Registerkarte Klassenpfad
4. Fügen Sie hier die Spring-JAR-Datei ein. Aufgrund der Spring-Abhängigkeit ist möglicherweise auch eine gemeinsame Protokolldatei erforderlich.

image

5. Fertig, führen Sie Ihre Anwendung erneut aus.