3

これは、私が Google App Engine で行った Twitter ディスカッション ( Twitter Conversation )のフォローアップ投稿です。

問題は、GAE には ASM 4.0 が必要ですが、Jersey には 3.1 が必要なため、Jersey と GAE が datanuceleus 2.0 と連携しないことです。詳細な説明と簡単な解決策は、ここにあります: GAE and Jersey 問題の説明

Stackoverflow には質問に関する投稿がいくつかあるので、このスレッドを開いて Google のチームと協力してこの問題を解決しました。

Datanuceleus 2.0 から 1.0 に切り替えただけで、Jersey が再び機能するようになりました。他に提案はありますか?特に2.0以降は使い勝手がいいです。

ご挨拶、

マリオ

4

3 に答える 3

4

別の解決策は、バージョン 1.18.1 の Jersey を使用することです。これは、asm 3.0 に依存しなくなり、再パッケージ化されたバージョンの asm を含みます。ここで確認できます: http://mvnrepository.com/artifact/com.sun.jersey/ jersey-bundle/1.18.1 これは GAE で動作します。

于 2014-05-17T10:09:58.010 に答える
2

jarjarを試す必要があります。これは、jar を別の jar に埋め込み、バイトコード レベルでコード参照を修正します。

この優れたブログ投稿を参照してください: http://blog.harrywye.com/post/30160964741/running-java-jersey-with-jdo-3-0-on-google-app-engine

于 2012-09-26T21:55:49.470 に答える
0

@peter-knego が言ったように、jarjarを使用するのは非常に簡単で、JDO/JPA > 1.0 を引き続き使用できます。

  1. jarjar をダウンロード
  2. testrules.txt次の内容のテキスト ファイルを作成します。

ルール org.objectweb.asm.** org.objectweb.asm3.@1

  1. asm-3.1.jar と jersey-server-1.1.5-ea-SNAPSHOT.jar (またはお持ちのもの) を使用して、次のコマンドを実行します。

java -jar jarjar-1.4.jar プロセス testrules.txt asm-3.1.jar asm-3.1r.jar

java -jar jarjar-1.4.jar プロセス testrules.txt jersey-server-1.1.5-ea-SNAPSHOT.jar jjersey-server-1.1.5r-ea-SNAPSHOT.jar

最後に、asm-3.1.jar と jersey-server-1.1.5-ea-SNAPSHOT.jar を再パッケージ化されたライブラリに置き換えます。

1.8.3 SDK で使用していますが、うまくいきました。

ここを参照

于 2013-08-21T15:15:32.407 に答える