【问题标题】:Need Explanation java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener需要说明 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
【发布时间】:2012-07-20 06:47:29
【问题描述】:

这不是一个问题。我试图找到以下行为的原因。

我正在开发涉及 Spring、Hibernate 和 Struts2 等技术的简单 Web 应用程序。

我使用 Maven 3 作为构建工具。当我开始使用 eclipse Juno 版本运行项目时,出现以下错误:

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

但是在pom.xml 中,我添加了spring web 框架的依赖项,当我在eclipse 中列出jar 时,我可以看到这个上下文加载器文件在那里。

但是当我将以下插件配置添加到 pom.xml 时,不会抛出此异常:

<plugin>
    <version>2.9</version>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <wtpversion>2.0</wtpversion>
    </configuration>
</plugin>

我只是想为这种行为找到一个原因。提前感谢您提供任何线索。

我已将以下 maven 插件集成到 maven 中。

【问题讨论】:

  • 这篇文章是我见过的最好的不使用 Maven 或 Spring 的广告。
  • 我不能代表 Spring,但我同意“没有 Maven”部分。为什么,克提斯?因为这是一个简单的 CLASSPATH 问题,但是在你和你对 Java 工作原理的理解之间有太多的机制,以至于你无法弄清楚。在使用 Eclipse 或 Maven 之前让它们工作。
  • @duffymo -- 是的,这就是我要说的。就 Spring 而言,他缺少一个名为 org.springframework.web.context.ContextLoaderListener 的类,但在创建过程中,他无法明确使用这个类,或者甚至可能知道它是什么——他也不应该,在这两种情况下。然而它是这样的:如果你使用 Eclipse、Maven 和 Spring,你并没有弄清楚如何编写一个简单的 Web 应用程序:你试图弄清楚如何让 Eclipse 告诉 Maven 加载一些你不知道的类甚至不需要。
  • 我不同意,EFH。他确实需要它。在他的 web.xml 中;它用于加载应用程序上下文 XML。它是 Spring Web 模块的一部分。它应该在 Spring JAR 的 WEB-INF/lib 中。
  • @ErnestFriedman-Hill ,我同意你的说法,即“你正试图弄清楚如何让 Eclipse 告诉 maven 加载一些你甚至不需要的类”。但是,问题是为什么它只是说缺少这个类,我添加了几个其他依赖项,但是对于那些,它不会抛出异常

标签: java spring maven spring-webflow


【解决方案1】:

将 maven 依赖项添加到您的部署程序集

【讨论】:

    猜你喜欢
    • 2013-12-27
    • 2014-02-18
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多