相关疑难解决方法(0)

从Eclipse 3.5中在Tomcat 6上运行Spring + Maven2项目时出现ClassNotFoundException

当我尝试从Eclipse中启动Web项目时,我得到:


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:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3877)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Run Code Online (Sandbox Code Playgroud)

当我切换到Fedora 12 x64时,项目开始失败.该项目使用相同的配置在WinXP上工作.

谷歌搜索我发现帖子声称去项目属性 - > Java EE模块依赖项和检查Maven依赖项框修复了这个问题.可悲的是,它对我没用.

我正在使用Spring 2.5.6,Maven2,Eclipse 3.5(带有m2e 0.10.0插件),Tomcat 6和Java 6在Fedora 12 x64上运行.

有没有人见过这个问题?

如果它有帮助,这是我的.classpath文件


<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java"/>
    <classpathentry kind="src" output="target/classes" path="target/generated-sources/gpb"/> …
Run Code Online (Sandbox Code Playgroud)

eclipse spring tomcat maven-2 m2eclipse

15
推荐指数
2
解决办法
3万
查看次数

Eclipse 3.7/Indigo m2e WTP集成依赖问题

我刚刚从Helios切换到Eclipse Indigo,当尝试使用WTP在Tomcat 6上运行支持Maven的Web项目时,我遇到了一些麻烦.

我遇到了Tomcat没有看到Maven依赖项的经典问题.在Helios中,解决方法是通过以下方式将Maven依赖项添加到Deployment Assembly:项目属性 - >部署程序集 - >添加"Java构建路径条目" - > Maven依赖项

不幸的是,没有列出"Java Build Path Entries"的选项,只列出了"Folder"和"Project".我不确定这是故意的,还是我的设置有问题.

为了消除外部因素,我使用以下设置:

  • 全新安装Eclipse Indigo(Mac)
  • 新鲜的工作区
  • 通过Eclipse Marketplace安装m2e WTP集成
  • 创建新的Maven项目
  • 添加一些maven依赖项,加上一些代码来使用它们
  • 将项目转换为分面形式
  • 添加"动态Web模块"方面
  • Maven>更新项目配置
  • 添加到Tomcat 6服务器
  • 在服务器上运行

此时,我看到获取与我缺少的依赖项相关的ClassNotFoundException.如果我运行'mvn war:war'并在项目的部署程序集中包含已组装的'WEB-INF/lib'目录,那么当然可以正确地选择依赖项 - 对于快速修复来说很好,但并不理想.

我读到的与类似问题相关的大多数问题都归结为缺少WTP集成模块,但这对我来说似乎不是问题.

难道我做错了什么?

eclipse eclipse-wtp maven m2e

7
推荐指数
1
解决办法
5757
查看次数

标签 统计

eclipse ×2

eclipse-wtp ×1

m2e ×1

m2eclipse ×1

maven ×1

maven-2 ×1

spring ×1

tomcat ×1