2

WEB-INF/lib ディレクトリにorg.springframework.web-3.0.2.RELEASE.jarがあるにもかかわらず、私の Web アプリケーションはorg.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBeanクラスを見つけることができません。spring.jar(2.5.6) の古いバージョンを webapp に追加すると、クラスが見つかります。これが発生する理由と、spring-2.5.6 に戻さずに、または両方のバージョンの春を同じ webapp に保持せずに修正する方法はありますか?

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

おそらく関連する質問:

4

1 に答える 1

3

NoClassDefFoundErrorと同じではありませんClassNotFoundException。これは、クラス自体ではなく、内部で使用されているクラス定義HttpInvokerProxyFactoryBeanが見つからないことを意味します。

つまり、そのスーパークラスのすべてのインポート クラスがHttpInvokerProxyFactoryBeanクラスパスに含まれている必要があります。

HttpInvokerProxyFactoryBeanは のサブクラスでorg.springframework.aop.framework.ProxyFactoryあり、 にProxyFactory依存しているためaopalliance-1.0.jar、これをクラスパスに含める必要があります。

于 2011-02-16T17:52:26.720 に答える