2

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

我在 Tomcat 6.0.28 上进行部署。

这是错误:

  • 引起:java.lang.NoClassDefFoundError: org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean

这是类路径(WEB-INF/lib)中的弹簧罐:

  • 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

可能相关的问题:

4

1 回答 1

3

NoClassDefFoundError不一样ClassNotFoundExceptionHttpInvokerProxyFactoryBean这意味着找不到内部使用的类定义,而不是类本身。

换句话说,HttpInvokerProxyFactoryBean必须在您的类路径中找到其超类的所有导入类。

由于HttpInvokerProxyFactoryBean是 的子类org.springframework.aop.framework.ProxyFactoryProxyFactory依赖于aopalliance-1.0.jar,因此您需要将其包含在类路径中。

于 2011-02-16T17:52:26.720 回答