2011-02-16 19 views
2

は私のWebアプリケーションは、WEB-INF /にorg.springframework.web-3.0.2.RELEASE.jarを有しているにも関わらずorg.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBeanクラスを見つけることができませんlibディレクトリ。 webappに古いバージョンのspring.jar(2.5.6)を追加すると、そのクラスが見つかります。これがなぜ起こっているのか、そして私がspring-2.5.6に戻すことなく修正する方法や、同じwebappにspringの両方のバージョンを保存する方法はありますか?春3.0 WebアプリケーションのNoClassDefFoundError - クラスパスの問題

私はTomcat 6.0.28にデプロイしています。 java.lang.NoClassDefFoundErrorが:ORG/springframework /リモート/ httpinvoker/HttpInvokerProxyFactoryBeanここ

クラスパスのばねジャーは、(WEB-INFによって引き起こさ

  • :ここ

    エラーです/ libに):

    • org.springframework.aop-3.0.2.RELEASE.jar
    • org.springframewo rk.asm-3.0.2.RELEASE.jar
    • org.springframework.beans-3.0.2.RELEASE.jar
    • org.springframework.context-3.0.2.RELEASE.jar
    • org.springframework。コア3.0.2.RELEASE.jar
    • org.springframework.expression-3.0.2.RELEASE.jar
    • org.springframework.web-3.0.2.RELEASE.jar
    • org.springframework.web。サーブレット-3.0.2.RELEASE.jar

    おそらく関連するクエストアドオン:

+0

クラスはこれらの瓶に入っていますか? –

+0

これはorg.springframework.web-3.0.2.RELEASE.jarにあります – Thimmayya

+1

スタックトレースを投稿できますか? 'NoClassDefFoundError'は' ClassNotFoundException'と同じではありません。 'HttpInvokerProxyFactoryBean'の内部で使われているクラス定義がクラス自体ではなく、見つからないということです。 – gigadot

答えて

3

NoClassDefFoundErrorClassNotFoundExceptionと同じではありません。つまり、クラス自体ではなく、HttpInvokerProxyFactoryBeanの内部で使用されるクラス定義が見つかりません。

つまり、HttpInvokerProxyFactoryBeanのインポートクラスとそのスーパークラスのすべてのクラスをクラスパスに配置する必要があります。

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