java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

eme*_*ieu 280 spring classnotfoundexception tomcat7

包括我:

  • 所有Spring库,

  • 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)
Run Code Online (Sandbox Code Playgroud)

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

Google上有人说应该包含spring.jar,但我在3.x发行版中没有看到任何spring.jar.

Eclipse 3.6.2 Tomcat 7

编辑:有人说"自动更新依赖项"应该在项目属性中检查,但我在项目属性中看不到类似的内容. ClassNotFoundException:org.springframework.web.con text.ContextLoaderListener

小智 764

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

  1. 打开项目的属性(例如,在项目资源管理器中右键单击项目的名称,然后选择"属性").
  2. 选择"部署程序集".
  3. 单击右边距上的"添加..."按钮.
  4. 从Directive Type菜单中选择"Java Build Path Entries",然后单击"Next".
  5. 从Java Build Path Entries菜单中选择"Maven Dependencies",然后单击"Finish".

您应该看到Web部署程序集定义中添加了"Maven依赖项".

  • 我遇到了同样的问题.但我无法在'属性'(在我的多模块maven项目的模块中)看到'部署程序集'. (18认同)
  • 如果Java Build Path Entries不包含任何内容,该怎么办?我就是那样的. (10认同)
  • 这是正确的,虽然非常烦人.在我看来,或许m2e插件应该照顾的东西. (9认同)
  • 我看到Maven Dependencies已添加到Web部署程序集定义中,但我一直收到错误. (9认同)
  • 这就是你应该这样做的方式,这是日食的正确方法. (6认同)
  • 这也适用于常春藤项目(选择ivy.xml作为最后一步.) (2认同)
  • 我的属性下不存在“部署程序集”选项,这是为什么? (2认同)

Che*_*ech 114

使用Eclipse WDT时,我不时会遇到同样的事情.当这种情况发生在一个未经修改且以前在工作的项目时,它特别令人沮丧.这是我在最后一个场景中修复它的方法:

  1. 停止Tomcat(如果它正在运行)
  2. 打开"服务器"视图:窗口>显示视图>其他>服务器>服务器
  3. 右键单击Tomcat服务器>清除Tomcat工作目录.
  4. 右键单击Tomcat服务器>清理
  5. 重启服务器

这通常可以解决您提到的问题.

  • 有针对该特定情况的错误报告(https://bugs.eclipse.org/bugs/show_bug.cgi?id=365748).Eclipse开发人员需要有关它的更多信息以及重现问题的方法. (3认同)
  • 对于这个问题,这确实是最简单的解决方案.谢谢Chepech! (3认同)
  • 这对我使用 eclipse 4.4 没有帮助。我不得不使用 Susie 的方法删除/添加部署到 tomcat。执行清理时,我正在监视 tomcat 部署文件夹。不知道为什么清理不清理部署文件夹。 (2认同)

Mas*_*rur 26

您可以尝试"清理Tomcat工作目录"或简单地"清理......".这应该放弃所有已发布的状态并从头开始重新发布.


小智 24

我使用IntelliJ IDEA,编译成功,但在启动Tomcat时,它说:

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
Run Code Online (Sandbox Code Playgroud)

一开始,我认为JAR丢失了,但它已经到位了.

解决方法: File > Project Structure > ArtifactsOutput Layout右面板中双击Available Elements名为像图书馆Maven:...,它会被移动到WEB-INF/lib在左窗格中.

接受并重启Tomcat.

  • 但它帮助了我. (10认同)

小智 8

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


Ben*_*pel 7

你必须使用至少版本3.2.8.RELEASE的spring-core.

对于Maven,请设置pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.2.8.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

资料来源:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html,自3.2.8起.


gou*_*uki 6

如果您使用的是 maven,则该项目可能尚未构建。首先做一个mvn clean package然后再次尝试重新部署。


小智 6

对于为 Tomcat 7 运行时配置的 eclipse 项目,我遇到了同样的问题

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


Sus*_*sie 6

如果上述所有内容都不起作用,请尝试以下操作.它对我有用.

从服务器中删除项目>重新启动服务器>将项目添加到服务器>重新启动服务器.

详细说明:

1. Right click on server > Add and Remove
2. Select your project > Remove > Finish
3. Restart your server
4. Right click on server > Add and Remove
5. Select your project > Add > Finish
6. Restart your server again.
Run Code Online (Sandbox Code Playgroud)


小智 6

Eclipse Luna 的解决方案:

  1. 右键单击maven web项目
  2. 单击“属性”菜单
  3. 在弹出窗口的左侧选择“部署程序集”
  4. 单击弹出窗口右侧的“添加...”按钮
  5. 现在又出现一个弹出窗口(New Assembly Directivies)
  6. 单击“Java 构建路径条目”
  7. 单击“下一步”按钮
  8. 单击“完成”按钮,现在自动关闭“新装配指令”弹出窗口
  9. 现在单击“应用”按钮和“确定”按钮
  10. 运行您的网络应用程序


小智 5

如果您使用 IntelliJ IDEA,并在 Tomcat 服务器上部署应用程序,它会显示:

  1. 文件菜单->
  2. 选择项目结构->
  3. 单击工件,然后单击输出布局->
  4. 在右侧选择您的罐子,双击它
  5. 现在它位于 WEB\lib 的左窗格中 ->
  6. 重启服务器

在此输入图像描述