`
chenzhou123520
  • 浏览: 4249167 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener

阅读更多

Eclipse中tomcat部署工程启动后报错:

严重: 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:1678)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
	at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
	at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

问题背景

工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。

 

错误原因:

进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下检查了一下,发现工程部署后在WEB-INF文件夹下没有生成lib目录,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下。

 

解决方案:

1.右键点击项目--选择Properties

选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries。如下图所示:

2.点击Next,选择Maven Dependencies

3.点击Finish,然后可以看到已经把Maven Dependencies添加到Web应用结构中了

 

操作完后,重新部署工程,不再报错了。然后我们再到.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\目录下,发现工程WEB-INF目录下自动生成了lib目录,并且所有的依赖jar包也都已经部署进来。问题因此解决。

分享到:
评论
25 楼 jingchh 2017-04-02  
感谢
24 楼 java粗学者 2017-03-16  
感谢!!!!!!!!!!
23 楼 zgmzgmzgm 2017-03-16  
   感谢楼主!终于可以睡觉了
22 楼 pyl574069214 2016-09-20  
21 楼 恨天高 2016-05-19  
楼主你这是java项目吧,android遇到这个问题该怎么解决啊
20 楼 luckysnowtt 2016-03-02  
感谢楼主,昨天我硬是弄了一天,还是用GOOGLE搜到你,瞬间解决
19 楼 guoxin91 2015-08-04  
18 楼 java_zhenke 2015-06-10  
看来大家都遇到这个破问题,郁闷死我了,楼主是个好人
17 楼 aybaylyn 2015-01-29  
我今天自己搭建spring mvc + tomcat时也遇到了这个问题,不过不是楼主这样的情况。
是我的tomcat的配置问题。server.xml中被我加了东西,

<Context path="/demo" docBase="F:\workspace\demo\src\main\webapp"></Context>

删掉之后就好了。 

具体的原理我还没有搞明白。
16 楼 wujierd 2014-12-17  
好牛逼,
15 楼 BigBird2012 2014-08-18  
我去,我找了好久,郁闷死了,原来是这个问题,谢谢撸主!!!
14 楼 w_mojian180 2014-07-19  
找的我 花都谢了
13 楼 toby1 2014-04-28  
谢谢 楼主分享, 我之前还导过  。其实网上的什么方法我都试了。 原来 是没有添加mevan的lib ,  呵呵
12 楼 zmen0502 2014-04-24  
多谢啊
11 楼 FX夜归人 2014-04-08  
众里寻他千百度,蓦然回首,正解却在,……多谢
10 楼 FX夜归人 2014-04-08  
正解
9 楼 yelx 2013-11-27  
我的没部署成功,后参见《Maven实战》一书使用Cargo实现自动化部署
或者按照楼主流程 Deployment Accembly -->add -->点击Folder -->next-->target-->项目打包的名称-->WEB-INF-->lib -->finish;然后看见source 栏下会有显示,再修改 Deploy Path
为 WEB-INF/lib,
注意在执行上述方法之前必须先执行Maven 的打包命令

8 楼 798396657 2013-09-17  
这才是正解呀
7 楼 chenzhou123520 2013-08-29  
zl544434558 写道
必须顶。大神!!

这个问题我花了半天没解决,在网上搜了也没解决。本来没报什么希望的。居然解决。

十分感谢

这个问题确实比较诡异,都是IDE惹的祸
6 楼 chenzhou123520 2013-08-29  
zl544434558 写道
敢问楼主能否把你博客转到我博客里。(注明出处)

OK ,没有问题

相关推荐

Global site tag (gtag.js) - Google Analytics