java - Spring 3.0 webapp NoClassDefFoundError - 类路径问题

标签 java spring tomcat classpath noclassdeffounderror

尽管 WEB 中有 org.springframework.web-3.0.2.RELEASE.jar,但我的 Web 应用程序无法找到 org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean 类-INF/lib 目录。如果我将旧版本的 spring.jar(2.5.6) 添加到 web 应用程序,则会找到该类。任何想法为什么会发生这种情况以及如何修复它而不恢复到 spring-2.5.6 或将两个版本的 spring 保留在同一个 web 应用程序中?

我正在 Tomcat 6.0.28 上部署。

错误如下:

  • 由以下原因引起:java.lang.NoClassDefFoundError:org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean

以下是类路径 (WEB-INF/lib) 中的 spring jar:

  • org.springframework.aop-3.0.2.RELEASE.jar
  • org.springframework.asm-3.0.2.RELEASE.jar
  • org.springframework.beans-3.0.2.RELEASE.jar
  • org.springframework.context-3.0.2.RELEASE.jar
  • org.springframework.core-3.0.2.RELEASE.jar
  • org.springframework.expression-3.0.2.RELEASE.jar
  • org.springframework.web-3.0.2.RELEASE.jar
  • org.springframework.web.servlet-3.0.2.RELEASE.jar

可能相关的问题:

最佳答案

NoClassDefFoundErrorClassNotFoundException 不同。这意味着找不到 HttpInvokerProxyFactoryBean 内部使用的类定义,而不是类本身。

换句话说,HttpInvokerProxyFactoryBean 及其父类(super class)的所有导入类都必须在您的类路径中找到。

由于 HttpInvokerProxyFactoryBeanorg.springframework.aop.framework.ProxyFactory 的子类,并且 ProxyFactory 依赖于 aopalliance-1.0 .jar,您需要将其包含在您的类路径中。

关于java - Spring 3.0 webapp NoClassDefFoundError - 类路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011218/

相关文章:

java - 在 DWR 方法调用中传递 javascript 对象

java - 试图掌握从 0 到 99999 对数字进行排序的算法的概念

java - Android Parcelable 转换错误

Java Spring - 如何通过 @WithUserDetails 使用 application.properties 中的值

postgresql - JSP 错误 java.lang.ClassNotFoundException

java - 尝试在 Tomcat 中部署 GWT 项目以有问题的类错误结束

java - 如何避免异常(try catch block )作为流程控制

spring - JMS 是否可以配置为仅允许一个接收者接收/处理一条消息?

jquery - 使用带有 ajax Rest 调用的 Spring CSRF 和带有 Thymeleaf 的 HTML 页面

java - 如何在Servlet中实现Template Method