ssh项目总结

ClassNotFoundException:org.springframework.web.context.ContextLoaderListenr,springcontext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

问题原因

这个问题在TOMCAT中的spring-web的加载问题。主要是jar包并没有真正导入WEB-INF/lib中,一般做测试直接把环境配置的jar包放入这个lib中,但是做项目时会引用在build path 中选用user library,里面自己配置的spring-web……的jar包,所以需要再加一步操作,把jar导入WEB-INF/lib。需要的操作如图所示。右键单击自己的项目,点击properties-Deployment Assembly-add-java build path entries添加自己需要的jar包,并且点击Apply
步骤图片如下所示