当我尝试通过Eclipse启动Tomcat时,出现以下异常(通过右键单击Project,Run As-> Run on Server)。
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 12, 2011 8:46:11 PM org.apache.catalina.core.StandardContext listenerStart
我正在使用Maven(m2eclipse)构建项目。我已经将必需的依赖项添加到Spring库中,并且可以在最终工件(包含该类)的lib目录中看到spring- web.jar文件。当我在IDE外部部署应用程序时,它可以正常工作。
任何关于为什么会发生这种情况的指针将不胜感激。
几天前,我在Eclipse Indigo上使用m2eclipse遇到了相同的问题(没有WTP集成,可以通过m2eclipse- extras进行添加)。我创建了一个Maven Web模块,并向其中手动添加了动态Web模块构面。当我将其部署在Eclipse WST Tomcat Server上时,似乎我的Maven依赖项并未在项目发布到服务器时推送到服务器。
解决方案很简单。在“项目资源管理器”中右键单击您的Web项目->选择“属性”。在项目属性下,选择“部署程序集”。
Deployment Assembly属性页面显示了将由Eclipse作为组合工件发布到服务器的内容。您需要告诉Eclipse您也希望发布所有Maven依赖项。
为此,请单击“添加”按钮,然后选择“ Java构建路径条目”。单击下一步,然后选择Maven依赖关系。当Eclipse将项目发布到WST服务器时,这会将Maven依赖项JAR文件发布到lib文件夹。
这种方法对我有用。