可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I included:
but it still gives errors:
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)
In \"org.sprintframework.web-3.1.0.M1.jar\", I can see \"org.springframework.web.context.ContextLoaderListener\".
Someone on Google says that spring.jar should be included but I don\'t see any spring.jar in 3.x distribution.
Eclipse 3.6.2
Tomcat 7
Edit: Someone says \"Automatically update dependencies\" should be checked in Project Properties but I don\'t see anything like that in project properties.
ClassNotFoundException:org.springframework.web.con text.ContextLoaderListener
回答1:
I had a similar problem when running a spring web application in an Eclipse managed tomcat. I solved this problem by adding maven dependencies in the project\'s web deployment assembly.
- Open the project\'s properties (e.g., right-click on the project\'s name in the project explorer and select \"Properties\").
- Select \"Deployment Assembly\".
- Click the \"Add...\" button on the right margin.
- Select \"Java Build Path Entries\" from the menu of Directive Type and click \"Next\".
- Select \"Maven Dependencies\" from the Java Build Path Entries menu and click \"Finish\".
You should see \"Maven Dependencies\" added to the Web Deployment Assembly definition.
回答2:
Same thing happens to me from time to time when using Eclipse WDT. Its specialy frustrating when this happens to a unmodified and previously working project. This is what I do to fix it in this last scenario:
- Stop Tomcat (if it\'s running)
- Open the \"Servers\" view: Window > Show view > Other > Server > Servers
- Right Click on Tomcat Server > Clean Tomcat Work Directory.
- Right Click on Tomcat Server > Clean
- Restart the server
This usually fixes the issue you mention.
回答3:
You could try \"Clean Tomcat Work Directory\" or simply \"Clean..\". This supposed to discard all published state and republish from scratch.
回答4:
I used IntelliJ IDEA, compilation is successful, but when starting Tomcat, it says:
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
In the beginning, I thought the JAR was missing, but it was in place.
Solution:
File > Project Structure > Artifacts
, in the Output Layout
double click in right panel Available Elements
the library named like Maven:...
, it will be moved to WEB-INF/lib
in the left pane.
Accept and restart Tomcat.
回答5:
This is surely Eclipse related issue.
The thing which worked for me is creating a new server in eclipse server tab.
Then run your application in this new server, it should work.
回答6:
You have to use at least version 3.2.8.RELEASE
of spring-core.
For Maven, set in your pom.xml
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
Source: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html, since 3.2.8.
回答7:
If everything mentioned above does not work try the following. It worked for me.
Remove your project from the server > Restart server > Add your project to server > Restart server.
Detailed Instruction:
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.
回答8:
If you\'re using maven, perhaps the project aint built yet. First do a \'mvn clean package\' then try redeploying again.
回答9:
I was facing the same issue for a eclipse project configured for Tomcat 7 runtime
Right click on project and go to project properties.
Click on Deployment Assembly. I could notice that my spring library jars which I created during compile time with a user library was missing.
Just add the jars and you should see no errors in console during tomcat start up
回答10:
Solution for Eclipse Luna:
- Right Click on maven web project
- Click \'Properties\'menu
- Select \'Deployment Assembly\' in left side of the popped window
- Click \'Add...\' Button in right side of the popped up window
- Now appear one more popup window(New Assembly Directivies)
- Click \'Java Build path entries\'
- Click \'Next\' Button
- Click \'Finish\' Button, now atomatically close New Assemby Directivies popup window
- Now click \'Apply\' Button and Ok Button
- Run your webapplication
回答11:
Actually this is a problem of Tomcat.
Just go to \'lib\' folder of your project and copy your all \'Spring\' related jars into this. Refresh your project and you are all good to go.
This problem sometime persists because tomcat is unable to locate Spring core classes.
回答12:
I tried the
- project clean mvn
- clean
- clean tomcat work directory Automatically
- update dependencies
The only thing that worked at least temporarily was to add Maven Dependencies to Web Deployment Assembly definition
But this does not work for ever! After a couple of days it stops working. My solution was to remove Maven Dependencies, apply change and add Maven Dependencies again.
I\'m using
- eclipse Juno
- embedded maven
- tomcat 7
回答13:
For gradle users, It works with following steps
1) Stop and Delete tomcat server from Servers Tab in eclipse
2) clean webapp and work directory from tomcat installation , (Reference, 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) clean and eclipsify project using build tool
$ ./gradlew clean eclipse
//fire respective command for mvn
users, $ mvn clean package
4) configure a new Tomcat server in eclipse, and run the project again.
回答14:
i too faced the same problem.... and resolved by following the below steps:
RC(right click on web project) --> properties --> Deployment Assembly --> Add --> Java Build Path Entries --> Next --> select jar files which are missing --> next --> finish
Application is running successfully...
回答15:
I have the same issue , and I have resolved it using the steps mentioned above.but no when I have this issue again and i try the following,
RC(right click on web project) --> properties --> Deployment Assembly --> Add --> Java Build Path Entries --> Next -->
after clicking on next its only a blank window with the options Next and Fnish disabled.What can I do now?
回答16:
I faced the same problem.
Just removed the server from configuration and added it back after restarting eclipse by adding it to the server runtime environment.
回答17:
For me the fix was to right click on my webapp module > Maven > Update Project
回答18:
I also had the same error. I had not added the below dependency in my POM file.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
But My porject used to run even before I had added this dependency. But at one point it stopped and started giving the same above error.
If any one couldn\'t solve this error they can also solve by this link
回答19:
One quick solution I prefer which I suited most for this situation is simply delete .metadata folder of your work space and import your projects again. If you try all other option it wont guarantee the success. Sometimes the above solutions work sometime you will spend your precious hours to fix this configuration.
One day i decided to clean my work station.I arranged the projects to their suitable folders according to different clients. As a result all got messed up. After spending a whole day it did not end up in a fixed work space. Next day I simply deleted the .metadata folder of the work space and imported all the projects again. Bingo all set.
回答20:
Put <packaging>war</packaging>
in your pom.xml if you are using Maven.
In that case, maybe it is with jar packaging
You must have Maven libs in Deployment Assembly
回答21:
I had the same issue. I resolved it by adding spring-web dependency in my pom.
Make sure you use spring-web jar which has ContextLoaderListener class extends ContextLoader implements ServletContextListener and reside in the package org.springframework.web.context. I used 3.0.4.RELEASE
回答22:
If you are using IntelliJ IDEA, and deploy application on Tomcat Server, it says:
Under File menu -> select project Structure -> click artifact -> select your jars and right click -> put in WEB\\lib -> restart server
回答23:
Using the \"Update project configuartion\" messed up the build path of the project.
Fix: Open the \"configure build path...\" menu (right click on the project) and fix the Included/Excluded options for each source folder.
That worked for me.
回答24:
In many case It is java facet problem ,jdk or jre or jsp version is difference than maven project face.
回答25:
The actual solution for me was to install the \"m2e-wtp - Maven integration for WTP\". The solution of Marcelo is not neccessary in that case.
回答26:
if nothing from above works, remove the .class from the listener class i.e.
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener.class
</listener-class>
</listener>
回答27:
This works for me ..
Right Click on maven web project
Click \'Properties\'menu
Select \'Deployment Assembly\' in left side of the popped window
Click \'Add...\' Button in right side of the popped up window
Now appear one more popup window(New Assembly Directivies)
Click \'Java Build path entries\'
Click \'Next\' Button
Click \'Finish\' Button, now atomatically close New Assemby Directivies popup window
Now click \'Apply\' Button and Ok Button
Run your webapplication
回答28:
This happened to me after I made changes to my Hibernate mapping in an IntelliJ project using Gradle. Simply rebuilding the project worked for me.
回答29:
I ran into this a couple times a quarter. This time I had a minimal change summary in my git diff and tracked the problem to a reset classpath (missing my WEB-INF/lib dependency) in eclipse. This seems to occur any time I pull in or pull out parent/sibling maven projects.
There are mentions of adding your spring jars to the tomcat web container lib - this is ok and is the way most EE servers run. However be aware that by placing spring higher in the classloader tree on tomcat you will be running higher than the classloader level of your war context. I recommend you leave the libs in a per/war lower level classloader.
We see the following after a truncated .classpath after a structural project change in eclipse.
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
My classpath was reset and the WEB-INF/lib dependency was removed.
<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>
put back
<attribute name=\"org.eclipse.jst.component.dependency\" value=\"/WEB-INF/lib\"/>
and you will be OK.
thank you
/michael
回答30:
I got this when I had the lib in my build path, but not in my deployment assembly. Also when I had a missing context.xml.