Spring MVC | java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

时间:2012-10-09 14:49:29

标签: spring spring-mvc

嗨!虽然我在论坛上发现了非常相似的问题,但没有一个能满足我的要求。

我正在使用Tomcat 7来部署我的spring应用程序。但是,我正面临着:

  
    

“抛出java.lang.ClassNotFoundException:     org.springframework.web.context.ContextLoaderListener'错误,     抛出java.lang.ClassNotFoundException:     org.springframework.web.context.ContextLoaderListener at     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)         在     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)         在     org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)         在     org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)         在     org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)         在     org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)         在     org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)         在     org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)         在     org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)         在     org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)         在     org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)         在     org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)         在     org.apache.catalina.startup.HostConfig $ DeployDirectory.run(HostConfig.java:1618)         在     java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)         at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)         在java.util.concurrent.FutureTask.run(FutureTask.java:166)at     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)         在     java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:603)         在java.lang.Thread.run(Thread.java:722)

  
     

Oct 09,2012 7:37:32 PM org.apache.catalina.core.StandardContext   listenerStart SEVERE:跳过安装应用程序监听器的原因   上一个错误10月09,2012 8:00:48 PM   org.apache.catalina.core.ApplicationContext log

我已经验证了org.springframework.web-3.1.2.RELEASE.jar存在于WEB-INF \ \ lib \文件夹中,并且其中包含所需的文件。请注意,我没有使用任何构建工具来部署像maven这样的Web应用程序。

我试图清理并重新安装应用程序,重新启动Tomcat,但没有任何运气。

请帮忙。

3 个答案:

答案 0 :(得分:0)

WEB-INF\ \lib\哪里?在工件或项目中?如果它在项目中,那么它并不意味着它在类路径中,如果您正在使用eclipse并且没有通过eclipse-tomcat设置编辑输出类路径,那么您应该确保.jar文件位于: ..\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\YourApp\WEB-INF\lib

这是eclipse制作工件并从那里部署工件的默认位置。因此,请确保在eclipse构建路径配置中包含jar文件。第一次添加新jar或与classpath相关的东西时,请执行以下操作:右键单击tomcat(在eclipse中),然后从菜单中发布,通过这种方式,eclipse会更新整个工件。

答案 1 :(得分:0)

值得验证您是否在classpath中拥有项目结构和必需的jar。如果需要设置,您可以获得this的帮助。

答案 2 :(得分:0)

如果您确定lib目录中的所有jar都可用,请尝试清理tomcat工作目录。 从eclipse(服务器视图),右键单击Tomcat服务器,然后单击菜单"清理Tomcat工作目录)。