6

jackson-core-asl-1.4.2私のアプリには以下のエラーがありますが、私のアプリケーションは以下のエラーをスローしていますjackson-mapper-asl-1.4.2

Caused by: java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.<init>(Ljava/lang/Class;)V
    at org.codehaus.jackson.map.type.SimpleType.<init>(SimpleType.java:32)
    at org.codehaus.jackson.map.type.TypeFactory._fromClass(TypeFactory.java:254)
    at org.codehaus.jackson.map.type.TypeFactory._fromType(TypeFactory.java:266)
    at org.codehaus.jackson.map.type.TypeFactory.type(TypeFactory.java:57)
    at org.codehaus.jackson.map.ObjectMapper.<clinit>(ObjectMapper.java:49)
    at org.springframework.web.servlet.view.json.MappingJacksonJsonView.<init>(MappingJacksonJsonView.java:59)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:126)
    at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:134)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
    ... 48 more
.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:126)
    at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:134)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
    ... 48 more

その理由は何ですか?アプリケーションが以前に機能し、コードをSVNにコミットした後、すべてをチェックアウトして再実行すると、このエラーが発生するのは本当に奇妙です...

4

2 に答える 2

15

これは、'core' jar と 'mapper' jar の互換性のないバージョンが原因であることはほぼ確実です。クラスパス経由で互換性のないバージョンが使用されている可能性があります。

于 2012-08-03T17:43:15.767 に答える
7

あなたが抱えている問題は、Google App Engine SDK の更新によるものです (1.6.1 だと思いますか?)。

私も同じ問題を抱えていたので、TattleTale を実行して、依存関係の問題があるかどうかを確認しました。見よ、org.codehaus.*次の 2 つのライブラリとの競合があります。

  • google_sql.jar
  • jackson-core-asl-1.6.3.jar

あなたの jackson ライブラリは私のものとは少し異なりますが、問題は同じままです。この問題には 2 つの修正があります。

  • war/webinf/lib ディレクトリから google_sql.jar を削除します。これにより、SDK は検証チェックに失敗しますが、赤い x を無視すれば、コードは正常に動作するはずです。
  • GAE SDK を 1.6.2 以降に更新します。後のSDKで問題が修正されたと思いますが、更新によりコンパイラの警告もいくつか導入されたので、ジャンプする前に確認してください.
于 2012-11-11T21:42:05.403 に答える