【问题标题】:org.springframework.web.context.ContextLoaderListener(java.lang.ClassNotFoundException)org.springframework.web.context.ContextLoaderListener(java.lang.ClassNotFoundException)
【发布时间】:2013-12-27 14:04:20
【问题描述】:
  • 我正在使用 JBoss 7.1
  • 日蚀 我有以下 Jar 文件(commons-dbcp.jar、commons-logging.jar、commons-pool.jar、jstl.jar、log4j-1.2.15.jar、mysql-connector-java-5.1.6-bin。 jar,spring.jar,spring-webmvc.jar,standard.jar)

当我尝试调试我的项目时,我收到以下错误

22:12:07,196 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/OnlinemployeeDB]] (MSC service thread 1-2) Error configuring application listener of class org.springframework.web.context.ContextLoaderListener: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener from [Module "deployment.OnlinemployeeDB.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    at org.jboss.as.web.deployment.WebInjectionContainer.newInstance(WebInjectionContainer.java:72) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3342) [jbossweb-7.0.13.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]

22:12:07,216 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/OnlinemployeeDB]] (MSC service thread 1-2) Skipped installing application listeners due to previous error(s)
22:12:07,218 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-2) Error listenerStart
22:12:07,219 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-2) Context [/OnlinemployeeDB] startup failed due to previous errors
22:12:07,222 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.web.deployment.default-host./OnlinemployeeDB: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./OnlinemployeeDB: JBAS018040: Failed to start context
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:95)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_25]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_25]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_25]

提前谢谢你。

【问题讨论】:

标签: java eclipse spring-mvc jar jboss


【解决方案1】:

试试这个。

  1. 右键项目名称->点击属性
  2. 转到部署程序集
  3. 点击添加 -> Java 构建路径条目 -> 下一步
  4. 选择 Maven 依赖项 -> 完成 -> 应用 -> 确定
  5. 清理项目和服务器。重启服务器
  6. 检查控制台。现在不应生成 ContextLoaderListener 异常。

【讨论】:

  • 我尝试了这些步骤,但问题是我没有“Maven Dependencies”
  • 首先检查你的项目是否基于maven。为此,请检查 Eclipse 中项目名称顶部的 Maven 符号“M”。如果没有,则右键单击项目-> 配置-> 转换为 Maven 项目。您的项目将被转换为 maven 项目。 (这可能需要一些时间,因为会下载一些所需的 jar。)在这个干净的项目之后并尝试上述步骤。
【解决方案2】:

这表明你错过了一些jar文件。 我猜其中一个 spring jar 文件没有包含在您的 war 文件中,或者它可能不存在于您的目标应用程序服务器中, 你是手动部署你的应用程序war文件吗? 顺便说一句,您使用的是哪个版本的 Spring?

【讨论】:

  • 我错过了 jar 的名称是什么?
  • 你用的是哪个版本的spring?
  • ContextLoaderListener 类存在于 spring-2.5.6 jar 文件中,因此在打包时请确保该 jar 文件存在于您的 war 文件中。
  • 用干净安装另一个应用服务器(例如tomcat)测试你的war文件并检查结果,可能你的jboss有问题。
【解决方案3】:

您在运行时类路径中缺少位于 spring-web-VERSION.jar 中的 org.springframework.web.context.ContextLoaderListener。如果在运行时找不到它们,那么它们是否在您的构建路径上也无济于事。您需要将 .jar 与您的 .war 库一起打包才能找到它们。

【讨论】:

  • @Djkgotso 您是否从运行时类路径中确认它存在?你可以打印出来。可能是由于此依赖项需要其他一些依赖项而得到它...您也可以尝试调试 jboss 并捕获异常并在调试器中检查它。
【解决方案4】:

在配置您的应用程序时,您错过了以下事情之一

  • 缺少罐子

    here下载最新的 Spring MVC 3.2.5 RELEASE jars

  • 将 Jar 文件添加到构建路径

    将下载的 jar 文件添加到项目 Build path 中。阅读这篇文章link1link2

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 2012-07-20
    • 2014-02-18
    • 1970-01-01
    • 2012-04-20
    • 2014-10-23
    • 2014-10-20
    • 1970-01-01
    • 2014-02-09
    • 2013-07-20
    相关资源
    最近更新 更多