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

Tomcat 启动项目报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

一、异常描述:

  1 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  2 	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass
  3 (WebappClassLoaderBase.java:1892)
  4 	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass
  5 (WebappClassLoaderBase.java:1735)
  6 	at org.apache.catalina.core.DefaultInstanceManager.loadClass
  7 (DefaultInstanceManager.java:495)
  8 	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged
  9 (DefaultInstanceManager.java:477)
 10 	at org.apache.catalina.core.DefaultInstanceManager.newInstance
 11 (DefaultInstanceManager.java:113)
 12 	at org.apache.catalina.core.StandardContext.listenerStart
 13 (StandardContext.java:5026)
 14 	at org.apache.catalina.core.StandardContext.startInternal
 15 (StandardContext.java:5633)
 16 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
 17 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
 18 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
 19 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 20 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 21 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 22 	at java.lang.Thread.run(Thread.java:748)

二、错误分析:

Java虚拟机是根据 Java ClassLoader (类加载器)决定如何加载Class。
系统默认提供了3个 ClassLoader
Root ClassLoader,ClassPath Loader,Ext ClassLoader
我们也可以编写自己的 ClassLoader,去加载特定环境下的jar文件。
能不能加载jar,加载哪里的jar,是由 ClassLoader 决定的。

问题: 导入的仅仅是jar包的引用,例如在eclipse中通过build path加进user lib……(类似快捷方式)
这种在Java Application中没问题,但在web Application中可能会出现找不到类的异常。
在WEB Application中jar包最好放在webroot或webcontent下的lib文件夹内,特别是xml中用到的jar包。

三、解决方法:

1. jar包放在webroot或webcontent下的lib文件夹内

2. 右击项目名称-Properties--Deployment Assembly--右边点击ADD-Java Build path entries --添加自定义的user-lib

102346189301613

102346298529976

102346370085256

posted @ 2018-01-09 16:11  长情白月光  阅读(359)  评论(0编辑  收藏  举报