欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

程序员文章站 2024-01-23 22:54:16
...

问题

ContextLoaderListener用于将Spring与其他Web应用程序集成。

<!-- file : web.xml --> 
 <context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/Spring/applicationContext.xml</param-value>
  </context-param>

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

常见的错误消息是,在服务器启动期间,您的服务器找不到此Spring ContextLoaderListener类。

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)

这总是在部署和调试环境中发生。

1.部署环境

在部署环境中,只需确保您的服务器类路径包含Spring jar库(例如spring-2.5.6.jar)。

对于Spring3ContextLoaderListener已移至spring-web.jar ,您可以从Maven*存储库获取该库。

<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>3.0.5.RELEASE</version>
	</dependency>

2.调试环境

在调试环境中,步骤可能因不同的IDE而异,但是解决方案相同。 在Eclipse中,开发人员通常会创建一个tomcat,jboss…无论用于调试的任何应用程序服务器,只要确保包含正确的Spring jar。

1.双击调试服务器
2.单击“打开启动配置”以访问服务器环境

ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

3.单击类路径选项卡
4.在这里包括Spring jar文件,由于Spring依赖关系,它可能还需要公共日志jar。

ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

5.完成,再次运行您的应用程序。

From: https://mkyong.com/spring/spring-error-classnotfoundexception-org-springframework-web-context-contextloaderlistener/