解决maven的java web项目启动找不到Spring ContextLoaderListener

用maven搭建的java web项目,上传到git仓库后,当同事clone下来项目,部署到tomcat运行时,就报了如下错误,即启动web项目时,加载web.xml文件,找不到spring的监听器,控制台错误如下:


严重: 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:1720)

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)

    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:262)

    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:745)

这个错误真心让人醉了,究竟是怎么回事,我本地是没问题的啊,为什么同事clone下来就出了这种错误。经过半天研究后发现,不知道什么原因,clone下来后用eclipse导入maven项目后,在他那里用git status命令看了一下,有两个配置文件改变了,一个是.classpath,一个是.project,这两个文件内容变了,当我把这两个文件还原为最初状态后,项目就正常了。

解决方法:

  1. 右键单击工程项目 ->点击 properties
  2. 选择 Deployment Assembly
  3. 点击 Add -> Java Build Path Entries -> Next
  4. 选择 Maven Dependencies -> Finish -> Apply -> OK
  5. Clean project and server. 重启server

这样就能解决maven 下找不到 spring listener 的问题。一个最明显的变化是你的web 工程里面明显多了一个jar包。

解决maven的java web项目启动找不到Spring ContextLoaderListener_第1张图片

你可能感兴趣的:(问题解决)