JSON への POJO マッピングを使用して、Jersey を Google AppEngine で動作させた人はいますか? これを機能させるために数時間を費やしてきましたが、2 つの場所で立ち往生しています。Jetty でローカルに実行することで、AppEngine よりも一歩先を行くことができますが、まだそこにも到達していません。私が遭遇している2つの問題は次のとおりです。
ローカル:
Jetty は次のエラーを生成します。
SEVERE: A message body writer for Java class
nilsnett.chinese.backend.BusinessObject, and Java type class
nilsnett.chinese.backend.BusinessObject, and MIME media type
application/json was not found
nilsnett.chinese.backend.BusinessObject
は、私が作成したプレーンな Java クラスで、次のようになります。
package nilsnett.chinese.backend;
import javax.xml.bind.annotation.XmlRootElement;
public class BusinessObject {
public String text;
public int value;
}
ここで何が問題なのですか?
AppEngine で:
Uncaught exception from servlet
java.lang.IncompatibleClassChangeError
asm-3.3.1.jar
ローカルでもこのエラーが発生しました。これは、Jersey が依存する とasm-4.0.jar,
which AppEngine depends on. If I _only_ referenced
asm-4.0.jar` の両方をローカルで参照しているという事実に関連しています。ここで同じエラーが発生します。両方を参照することは、AppEngine では明らかにうまく機能しません。どうすればこれを回避できますか?
より多くのデータ:
- ローカル エラーの完全な Jetty ログはこちら
- AppEngine からの完全な例外ログはこちら
- 私の web.xml
SDK の参照:
- AppEngine v1.7.4
- Java SE 1.6
参照されているJerseyに関連するJar:
- Jersey-bundle-1.17.jar
- Asm-3.3.1.jar
- Jettison-1.1jar
Windows 8 の Eclipse Juno で開発しています。