我包括:
所有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)
在“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
答案 0 :(得分:754)
在Eclipse托管的tomcat中运行spring Web应用程序时遇到了类似的问题。我通过在项目的Web部署程序集中添加maven依赖项来解决此问题。
您应该看到Web部署程序集定义中添加了“Maven依赖项”。
答案 1 :(得分:110)
使用Eclipse WDT时,我不时会遇到同样的事情。当这种情况发生在一个未经修改且以前在工作的项目时,它特别令人沮丧。这是我在最后一个场景中修复它的方法:
这通常可以解决您提到的问题。
答案 2 :(得分:26)
您可以尝试“清理Tomcat工作目录”或简单地“清理......”。这应该放弃所有已发布的状态并从头开始重新发布。
答案 3 :(得分:22)
我使用IntelliJ IDEA,编译成功,但在启动Tomcat时,它说:
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
一开始,我认为JAR丢失了,但它已经到位了。
解决方案:
File > Project Structure > Artifacts
,在Output Layout
双击右侧面板Available Elements
中名为Maven:...
的库中,它将移至左侧窗格中的WEB-INF/lib
。
接受并重新启动Tomcat。
答案 4 :(得分:8)
这肯定是Eclipse相关的问题。 对我有用的是在eclipse服务器选项卡中创建一个新服务器。 然后在这个新服务器上运行你的应用程序,它应该可以工作。
答案 5 :(得分:7)
您必须至少使用spring-core的3.2.8.RELEASE
版本。
对于Maven,请设置pom.xml
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
资料来源:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html,自3.2.8起。
答案 6 :(得分:6)
如果上述所有内容均无效,请尝试以下操作。它对我有用。
从服务器中删除您的项目&gt;重启服务器&gt;将您的项目添加到服务器&gt;重启服务器。
详细说明:
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.
答案 7 :(得分:4)
如果您正在使用maven,那么也许该项目尚未建成。首先做一个'mvn clean package',然后再尝试重新部署。
答案 8 :(得分:4)
Eclipse Luna的解决方案:
答案 9 :(得分:4)
我为面向Tomcat 7运行时配置的eclipse项目面临同样的问题
右键单击项目并转到项目属性。 单击Deployment Assembly。我注意到我在编译期间用用户库创建的弹簧库jar文件丢失了。 只需添加jar,你就应该在tomcat启动时看到控制台没有错误
答案 10 :(得分:3)
实际上这是Tomcat的问题。 只是去&#39; lib&#39;你的项目的文件夹,并复制你的所有&#39;春天&#39;相关的罐子进入这个。刷新你的项目,你就可以了。 这个问题有时会持续存在,因为tomcat无法找到Spring核心类。
答案 11 :(得分:2)
我有同样的问题。我通过在我的pom中添加 spring-web dependency 来解决它。 确保使用具有 ContextLoaderListener 类扩展的spring-web jar。ContextLoader实现ServletContextListener并驻留在包org.springframework.web.context中。我使用了3.0.4.RELEASE
答案 12 :(得分:2)
如果您正在使用IntelliJ IDEA,并在Tomcat服务器上部署应用程序,它会说: 在文件菜单下 - &gt;选择项目结构 - &gt;点击工件 - &gt;选择您的罐子并右键单击 - &gt;放入WEB \ lib - &gt;重启服务器
答案 13 :(得分:1)
我最喜欢的一个快速解决方案,我最适合这种情况的只是删除工作空间的.metadata文件夹并再次导入项目。如果你尝试所有其他选择,它不会保证成功。有时,上述解决方案有时会花费您宝贵的时间来修复此配置。
有一天,我决定清理我的工作站。我根据不同的客户将项目安排到合适的文件夹中。结果一切都搞砸了。花了一整天后,它并没有最终进入固定的工作空间。第二天,我只是删除了工作区的.metadata文件夹,并再次导入了所有项目。 Bingo全部设定。
答案 14 :(得分:1)
如果您使用的是Maven,请将<packaging>war</packaging>
放入pom.xml中。
在这种情况下,也许是罐装包装
您必须在部署程序集中拥有Maven库
答案 15 :(得分:1)
我也有同样的错误。我没有在我的POM文件中添加以下依赖项。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
但是在我添加此依赖项之前,我的项目曾经运行过。但有一次它停止并开始给出相同的上述错误。
如果任何人无法解决此错误,他们也可以通过此link
解决答案 16 :(得分:1)
对我来说,解决方法是右键单击我的webapp模块&gt; Maven&gt;更新项目
答案 17 :(得分:1)
我有同样的问题,我已经使用上面提到的步骤解决了这个问题。但是当我再次遇到这个问题时我没有尝试以下内容,
RC(右键点击网络项目) - &gt;属性 - &gt;部署组件 - &gt;添加 - &gt; Java构建路径条目 - &gt;下一步 - &gt;
点击下一个只有一个空白窗口,其中选项Next和Fnish disabled。我现在可以做什么?
答案 18 :(得分:1)
我也面临同样的问题....并通过以下步骤解决:
RC(右键点击网络项目) - &gt;属性 - &gt;部署组件 - &gt;添加 - &gt; Java构建路径条目 - &gt;下一步 - &gt;选择缺少的jar文件 - &gt;下一个 - &gt;光洁度
应用程序正在成功运行...
答案 19 :(得分:1)
对于gradle用户,它可以使用以下步骤
1)从eclipse中的服务器标签中停止并删除 tomcat服务器
2)从tomcat安装中清除webapp和工作目录,(参考,How-To: Clear out Tomcat’s cache and fix outdated JSP problems)
$ rm -r /usr/local/AT7028/work/*
$ rm -r /usr/local/AT7028/webapps/WAR_NAME
3)使用构建工具清理和eclipsify项目
$ ./gradlew clean eclipse
//为mvn
个用户$ mvn clean package
4)在eclipse中配置新的Tomcat服务器,然后再次运行该项目。
答案 20 :(得分:1)
我试过了
至少暂时有效的是将Maven依赖项添加到Web部署程序集定义
但这永远不会奏效!几天后它停止工作。我的解决方案是删除Maven依赖项,应用更改并再次添加Maven依赖项。
我正在使用 - 日食朱诺 - 嵌入式maven - tomcat 7
答案 21 :(得分:0)
如果上述内容无效,则从侦听器类中删除.class,即
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener.class
</listener-class>
</listener>
答案 22 :(得分:0)
对我来说,实际的解决方案是安装“m2e-wtp - Maven集成WTP”。在这种情况下,马塞洛的解决方案并不是必要的。
答案 23 :(得分:0)
这对我有用..
右键单击maven web项目 点击“属性”菜单 选择部署程序集&#39;在弹出窗口的左侧 点击“添加...”#39;弹出窗口右侧的按钮 现在出现一个弹出窗口(New Assembly Directivies) 单击“Java Build path entries”&#39; 点击下一步&#39;按键 点击完成&#39;按钮,现在自动关闭New Assemby Directivies弹出窗口 现在点击“应用”#39;按钮和确定按钮 运行您的Web应用程序
答案 24 :(得分:0)
在很多情况下它是java facet问题,jdk或jre或jsp版本与maven项目面不同。
答案 25 :(得分:0)
在使用Gradle在IntelliJ项目中更改了我的Hibernate映射后,发生了这种情况。简单地重建项目对我有用。
答案 26 :(得分:0)
我每季度碰到这几次。这次我在我的git diff中有一个最小的更改摘要,并在eclipse中将问题跟踪到重置类路径(缺少我的WEB-INF / lib依赖项)。这似乎发生在我拉入或拉出父/兄弟maven项目的任何时候。
有人提到将你的弹簧罐添加到tomcat web容器lib中 - 这是正常的,这是大多数EE服务器运行的方式。但请注意,通过在tomcat上的类加载器树中放置更高的弹簧,您将运行高于war上下文的类加载器级别。我建议你将libs保存在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"/>
你会没事的。
谢谢你 /迈克尔答案 27 :(得分:0)
当我在构建路径中使用lib时,我得到了这个,但是在部署程序集中没有。当我缺少context.xml时。
答案 28 :(得分:0)
使用“更新项目配置”搞砸了项目的构建路径。
修复:打开“配置构建路径...”菜单(右键单击项目)并修复每个源文件夹的“包含/排除”选项。 这对我有用。
答案 29 :(得分:0)
当我查看解决方案时,似乎总是有问题阻止了spring库的加载。可能是依赖性问题或部署问题。
就我而言,这是Maven存储库因某种原因损坏了。解决问题的方法是删除文件夹“ C:\ Users(我的名字).m2 \ repository”并重建。
答案 30 :(得分:0)
在我的情况下,问题是该类位于test
包中。将其移至main
软件包已解决了该问题。
答案 31 :(得分:0)
我进行了代码提取,但是没有更新Eclipse服务器/模块选项卡上的项目版本。由于某些原因,maven全新安装不会从目标中删除旧项目文件夹,而是也创建了新文件夹。
在服务器上更正项目版本可解决此问题。
发布此信息以防万一有人犯同样的错误。