java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener
我包括:
-
所有的spring库存 ,
-
Apache Tomcat 7.0库
在构buildpath
但它仍然给错误:
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
在Eclipse托pipe的Tomcat中运行Spring Web应用程序时遇到了类似的问题。 我通过在项目的Web部署程序集中添加Maven依赖项来解决这个问题。
- 打开项目的属性(例如,右键单击项目浏览器中的项目名称,然后select“属性”)。
- select“部署大会”。
- 点击右边的“添加…”button。
- 从Directive Type的菜单中select“Java Build Path Entries”,然后点击“Next”。
- 从Java Build Path Entries菜单中select“Maven Dependencies”,然后单击“Finish”。
您应该看到“Maven依赖关系”添加到Web部署程序集定义。
使用Eclipse WDT时,同样的事情时常发生在我身上。 当这种情况发生在一个未经修改和以前正在进行的项目中时,它特别令人沮丧。 这是我在这最后一个场景中解决它的方法:
- 停止Tomcat(如果它正在运行)
- 打开“服务器”视图:窗口>显示视图>其他>服务器>服务器
- 右键单击Tomcat服务器>清理Tomcat工作目录。
- 右键单击Tomcat服务器>清理
- 重新启动服务器
这通常会解决您提到的问题。
你可以尝试“清理Tomcat的工作目录”或干脆“清理..”。 这应该放弃所有发布的状态,并从头开始重新发布。
我用的是IntelliJ IDEA,编译成功了,但是启动Tomcat时说:
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
一开始,我认为JAR不见了,但是已经到位了。
解决scheme: File > Project Structure > Artifacts
,在Output Layout
双击右侧面板中的Available Elements
库命名为Maven:...
,它将被移到左窗格中的WEB-INF/lib
。
接受并重新启动Tomcat。
这肯定是Eclipse相关的问题。 为我工作的东西是在eclipse服务器选项卡中创build一个新的服务器。 然后运行你的应用程序在这个新的服务器,它应该工作。
你必须至less使用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开始。
如果你正在使用maven,也许这个项目还没有build成。 首先做一个'mvn clean package',然后再尝试重新部署。
我为Tomcat 7运行时configuration的eclipse项目面临同样的问题
右键单击项目并转到项目属性。 点击部署大会。 我可以注意到,我在编译期间用用户库创build的弹簧库jar包丢失了。 只要添加jar子,你应该看到在tomcat启动时在控制台没有错误
如果上述所有内容都不起作用,请尝试以下操作。 它为我工作。
从服务器中删除项目>重新启动服务器>将您的项目添加到服务器>重新启动服务器。
详细说明:
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.
Eclipse Luna解决scheme:
- 右键单击maven web项目
- 点击“属性”菜单
- selectpopup窗口左侧的“部署程序集”
- 点击popup窗口右侧的“添加…”button
- 现在再出现一个popup窗口(New Assembly Directivies)
- 点击“Java Build path entries”
- 点击“下一步”button
- 点击“Finish”button,现在自动closuresNew Assemby Directiviespopup窗口
- 现在点击“应用”button和确定button
- 运行你的web应用程序
其实这是Tomcat的问题。 只要去你的项目的“lib”文件夹,并将你所有的“spring”相关的jar子复制到这个。 刷新你的项目,你都很好去。 这个问题一直存在,因为tomcat无法findSpring核心类。
我试过了
- 项目清洁mvn
- 清洁
- 干净的Tomcat工作目录自动
- 更新依赖关系
唯一至less暂时工作的是将Maven Dependencies添加到Web部署程序集定义中
但是这不能永远工作! 几天后,它停止工作。 我的解决scheme是删除Maven Dependencies,应用更改并再次添加Maven Dependencies。
我正在使用 – eclipse Juno – embedded式maven – tomcat 7
对于Gradle用户,它使用以下步骤
1)在eclipse中从服务器选项卡中停止并删除 tomcat服务器
2)从tomcat安装中清除webapp和工作目录 (参考,操作方法:清除Tomcat的caching并修复过时的JSP问题 )
$ rm -r /usr/local/AT7028/work/* $ rm -r /usr/local/AT7028/webapps/WAR_NAME
3)使用构build工具清理和消除项目
$ ./gradlew clean eclipse
//为mvn
用户激发各自的命令, $ mvn clean package
4)在eclipse中configuration一个新的Tomcat服务器,并再次运行该项目。
我也面临同样的问题….并通过以下步骤解决:
RC(右键单击web项目) – > properties – > Deployment Assembly – > Add – > Java Build Path Entries – > Next – >select缺less的jar文件 – > next – > finish
应用程序正在成功运行
我有同样的问题,我已经解决了上述步骤,但没有当我再次遇到这个问题,我尝试以下,
RC(右键单击web项目) – > properties – > Deployment Assembly – > Add – > Java Build Path Entries – > Next – >
点击下一个后,只有一个空白的窗口,select下一个和芬兰disabled.What我现在可以做什么?
我面临同样的问题。
刚刚从configuration中删除了服务器,并在重新启动eclipse之后将其添加到服务器运行时环境中,将其添加回来。
对我来说,解决方法是右键单击我的Web应用程序模块> Maven>更新项目
我喜欢的一个快速解决scheme是我最适合这种情况的只是删除工作空间的.metadata文件夹并再次导入您的项目。 如果你尝试所有其他选项,它不会保证成功。 有时上述解决scheme有时会花费你宝贵的时间来解决这个configuration。
有一天,我决定打扫我的工作站。我根据不同的客户将项目安排到合适的文件夹。 结果一切都搞砸了。 花了一整天后,它并没有在一个固定的工作空间中结束。 第二天,我只是删除工作空间的.metadata文件夹,并再次导入所有的项目。 宾果全部设置。
如果您使用的是Maven,请将<packaging>war</packaging>
放在您的pom.xml中。 在这种情况下,也许是用jar子包装
您必须在部署汇编中拥有Maven库
使用“更新项目configuration”搞乱了项目的构buildpath。
修复:打开“configuration构buildpath…”菜单(右键单击项目),并修复每个源文件夹的包含/排除选项。 这对我有效。
在许多情况下,它是java方面的问题,jdk或jre或jsp版本是比maven项目面对不同。
对我来说,实际的解决scheme是安装“m2e-wtp – WTP的Maven集成”。 在这种情况下,马塞洛的解决scheme并不是必需的。
如果上面没有任何东西的话,从监听器类中移除.class
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener .class </listener-class> </listener>
我也有同样的错误。 我没有在我的POM文件中添加下面的依赖项。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.7.RELEASE</version> </dependency>
但是我的项目在我添加这个依赖之前就已经运行了。 但有一次,它停了下来,开始给出同样的错误。
如果有人不能解决这个错误,他们也可以通过这个链接来解决
这对我有用..
右键点击maven web project点击'Properties'菜单在popup的窗口左边select'Deployment Assembly'点击popup窗口右边的'Add …'button现在出现一个popup窗口(New Assembly Directivies)点击'Java Build path entries'点击'Next'button点击'Finish'button,现在自动closuresNew Assemby Directiviespopup窗口现在点击'Apply'button并确定button运行你的web应用程序
在我使用Gradle在IntelliJ项目中对Hibernate映射进行更改后,发生了这种情况。 简单地重build项目为我工作。
我四分之一的时间遇到过这种情况。 这一次,我在git diff中做了一个小小的更改总结,并将问题追踪到了eclipse中的重置类path(缺less我的WEB-INF / lib依赖项)。 这似乎发生在任何时候我拉或拉出父母/兄弟姐妹项目。
有提到将你的spring jar添加到tomcat web容器库 – 这是好的,并且是大多数EE服务器运行的方式。 但是请注意,通过在tomcat中的类加载器树中放置更高的弹簧,将会比战争上下文的类加载器级别更高。 我build议你把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
我的类path被重置,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"/>
你会没事的
谢谢/ michael
当我在构buildpath中有lib,但没有在我的部署程序集中时,我得到了这个。 另外当我有一个遗漏的context.xml。
我遇到过同样的问题。 我通过在我的pom中添加spring-web dependency来解决这个问题。 确保使用具有ContextLoaderListener类的spring-web jar扩展ContextLoader实现ServletContextListener并驻留在包org.springframework.web.context中。 我使用了3.0.4.RELEASE
如果您使用的是IntelliJ IDEA,并且在Tomcat Server上部署应用程序,则说:在文件菜单 – >select项目结构 – >点击工件 – >select您的jar子并右键单击 – >放入WEB \ lib – >重新启动服务器