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

所有春季图书馆 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论坛(离线)说“自动更新依赖项”应该在项目属性中勾选,但我在项目属性中没有看到这样的东西。


当前回答

对我来说,实际的解决方案是安装“m2e-wtp - Maven集成WTP”。在这种情况下,马塞洛的解决方案是不必要的。

其他回答

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

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

我在Eclipse管理的tomcat中运行spring web应用程序时遇到了类似的问题。我通过在项目的web部署程序集中添加maven依赖项来解决这个问题。

打开项目的属性(例如,在项目资源管理器中右键单击项目名称并选择“properties”)。 选择“部署程序集”。 点击右边的“添加…”按钮。 从指令类型的菜单中选择“Java Build Path Entries”,然后单击“Next”。 从Java Build Path Entries菜单中选择“Maven Dependencies”,然后单击“Finish”。

您应该看到“Maven Dependencies”被添加到Web Deployment Assembly定义中。

我每个季度都碰到过几次。这一次,我在我的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"/>

你会没事的。

谢谢你! /迈克尔

这肯定是与Eclipse相关的问题。 对我有用的是在eclipse server选项卡中创建一个新服务器。 然后在这个新服务器上运行应用程序,它应该可以工作。

我在为Tomcat 7运行时配置的eclipse项目中也遇到了同样的问题

右键单击项目并进入项目属性。 单击部署程序集。我可以注意到我在编译时用用户库创建的spring库jar丢失了。 只需添加jar,在tomcat启动期间,您应该不会在控制台中看到任何错误