问题背景:
Tomcat 服务器运行一个Maven工程后,重新加入另一个之前能够运行的Maven工程一直失败,并报一下错误.
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:529)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:511)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4888)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
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.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
开始的时候自然右键项目,build path 查看项目所依赖的jar包,发现jar包是完整的。
经过一番琢磨,才发现原来是eclipse发布工程的时候缺失了相应的jars.
解决方法为:
1:右键tomcat服务器,查看服务发布的路径。
2.在该路径下找到发布的临时工程
3.找到相应的工程的lib目录,发现jar包变少了,直接在该工程的target/工程名/WEB-INF/lib/下把完整的jar包拷贝到tomcat服务器发布的临时目录下去。(在target下找完整的jar包前记得run as–>maven install)