15

当尝试从 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)

当我切换到 Fedora 12 x64 时,项目开始失败。该项目在具有相同配置的 WinXP 上运行。

谷歌搜索我发现帖子声称转到Project Properties -> Java EE Module Dependencies并检查Maven Dependencies框可以解决问题。可悲的是它对我没有用。

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

有没有人看到这个问题?

万一这有帮助是我的 .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"/>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>

    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.iam.jdt.core.mavenClasspathContainer">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

更新:我在 Eclipse 之外构建或运行项目没有任何问题。

4

4 回答 4

18

您的. _ _ _ 我会做一些清理工作:.classpath

  • 仅使用其中一个插件(我建议使用 M2Eclipse)。
  • 从 Eclipse 的工作区中删除您的项目,删除.classpath.project再次将项目导入为 Maven 项目。

更新:要获得 M2Eclipse 的 WTP 支持,您需要从 m2eclipse Extras 更新站点安装Maven Integration for WTP :http: //download.eclipse.org/m2e-wtp/releases/,如下图所示:

在此处输入图像描述

于 2010-04-07T19:54:07.297 回答
9

我有同样的症状,但原因不同。我不得不编辑我的 .classpath 文件。行家入口:

<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

...缺少此处显示的属性标签。当我添加属性标签时,问题就消失了。我很好奇如何在 eclipse ui 中配置它。

于 2011-03-10T14:11:32.480 回答
4

请注意,安装 WTP 集成的步骤已更改。

请参阅: Eclipse Indigo/3.7 中的 Maven/Tomcat 项目

于 2011-10-14T14:12:15.023 回答
1

时不时面临同样的问题。

出于某种奇怪的原因,这个问题可以通过这种方式解决

1) 右键单击​​项目 Maven -> 禁用 Maven 依赖项

2) 右键单击​​项目 Maven -> 启用 Maven 依赖项

于 2011-12-24T12:09:32.653 回答