ClassNotFoundException:ContextLoaderListener

集成Spring2.5、Hibernate3.3成功之后,打算集成Struts2,于是加入相关包,在web.xml中添加以下代码:

<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 对Spring容器进行实例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>

没想到n次重启Tomcat,老是出现:

java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

的错误,起初以为是没有导入相关包,但是再三排查,没有问题,搞了很久,从这里得到启发,以下是其部分内容:

经常碰到有人在部署Web工程的时候会报如上错误,搞了半天还不知道是什么原因。:(
其实原因很简单:
首先,看看你的工程WEB-INF/lib目录下是否添加了spring.jar包?假如没有,添加spring.jar到lib目录下。
其次,到web server的应用部署目录(假如是tomcat就是webapps,假如是jboss那么是server/{服务器名(默认default)}/)下查看刚刚部署的war包,到里面找WEB-INF/lib目录,往下还是找spring.jar包,有些时候eclipse自动部署会有问题,WEB-INF/lib目录在部署的时候打不到war包里去。

归根结底,就是你的工程构建或者应用部署两个环节中的某一个出了问题。至于后一个原因,最好的解决办法还是手动生成war包,然后把它拷贝到相应的应用部署目录下。

 

我把Tomcat中发布的相关文件删了,重启Tomcat,终于没问题了,真是郁闷,还搞了半天。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值