我在构建路径中包含了这些:

所有春季图书馆 Apache Tomcat 7.0库

项目在启动过程中仍然失败:

SEVERE: 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:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

在org.sprintframework.web-3.1.0.M1.jar中,我可以看到org.springframework.web.context.ContextLoaderListener。

有人在谷歌上说spring.jar应该包括在内,但我在3中没有看到任何spring.jar。x分布。

Eclipse操作 Tomcat 7

编辑:有人在Spring论坛(离线)说“自动更新依赖项”应该在项目属性中勾选,但我在项目属性中没有看到这样的东西。


当前回答

我每个季度都碰到过几次。这一次,我在我的git diff中有一个最小的更改摘要,并在eclipse中跟踪了一个重置类路径(丢失了我的WEB-INF/lib依赖项)。每当我加入或退出父母/兄弟姐妹的专业项目时,这种情况似乎都会发生。

有提到将spring jar添加到tomcat web容器库中——这是可以的,也是大多数EE服务器运行的方式。但是请注意,通过将spring放在tomcat上的类加载器树的更高位置,您将运行在war上下文的类加载器级别之上。我建议你把类库放在一个per/war的低级类加载器中。

在eclipse中进行结构性项目更改后,我们将看到截断的.classpath。

Dec 18, 2016 11:13:39 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener

我的类路径被重置,WEB-INF/lib依赖项被移除。

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

放回

<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>

你会没事的。

谢谢你! /迈克尔

其他回答

月食Luna的解决方案:

右键单击maven web项目 点击“属性'menu 在弹出窗口的左侧选择“部署程序集” 点击“添加……”按钮在弹出窗口的右侧 现在出现一个弹出窗口(新的汇编指令) 点击“Java构建路径条目” 点击“下一步”按钮 点击“完成”按钮,现在自动关闭新组装指令弹出窗口 现在点击“应用”按钮和“确定”按钮 运行web应用程序

对于这种情况,我更喜欢的一个快速解决方案是简单地删除工作空间的.metadata文件夹,然后重新导入项目。如果你尝试了所有其他的选择,它并不能保证成功。有时上述解决方案可以工作,有时您需要花费宝贵的时间来修复此配置。

一天,我决定打扫我的工作站。我根据不同的客户把项目安排到合适的文件夹里。结果,一切都搞砸了。在花了一整天的时间后,它并没有在一个固定的工作空间结束。第二天,我简单地删除了工作空间的.metadata文件夹,并再次导入所有项目。答对了。

在使用Eclipse WDT时,同样的事情也不时发生在我身上。当这种情况发生在一个未修改的和以前工作的项目上时,尤其令人沮丧。这是我在最后一个场景中所做的修复:

停止Tomcat(如果它正在运行) 打开“Servers”视图:Window > Show view > Other > Server > Servers 右键单击Tomcat Server > Clean Tomcat Work Directory。 右键单击Tomcat服务器> Clean 重新启动服务器

这通常可以解决你提到的问题。

这对我有用。

右键单击maven web项目 点击“属性'menu 在弹出窗口的左侧选择“部署程序集” 点击“添加……”按钮在弹出窗口的右侧 现在出现一个弹出窗口(新的汇编指令) 点击“Java构建路径条目” 点击“下一步”按钮 点击“完成”按钮,现在自动关闭新组装指令弹出窗口 现在点击“应用”按钮和“确定”按钮 运行web应用程序

我也有同样的问题。我通过在我的pom中添加spring-web依赖来解决这个问题。 确保你使用spring-web jar,它有ContextLoaderListener类扩展ContextLoader实现ServletContextListener并驻留在包org.springframework.web.context中。我使用3.0.4.RELEASE