Google App Engine 上で JAX-RS

id:shinさんの記事に、JAVA EE6 で正式採用になった JAX-RS が GAE/J上で動くとの記述(JAX-RSがGAEで動くことを確認 - しんさんの出張所 はてなブログ編)がありました。おお、思って検索してみると、手順を公開したブログがありました。http://iqbalyusuf.wordpress.com/google-app-engine-jax-rs-jersey/、とまあ、そのままの題名です。当然ですが、そのままの手順で動きました。

環境:

手順:

  1. EclipseGoogle App Engine のプロジェクトを新規作成する。このとき、GWTを使わないようチェックを外しておく。
  2. ダウンロードしたJersey一式の中のlibディレクトリに含まれる jarファイルをすべて、作成したプロジェクトの /war/WEB-INF/lib に展開する。
  3. 展開した jarファイルのうち、jsr311-api-1.1.1.jar を参照ライブラリに追加する。
  4. HelloWorldResource.java を作成する(上記サイトのサンプルコードのパッケージ名のみ修正)。
  5. web.xml を作成する(上記サイトのサンプルコードのパッケージ名の箇所のみ修正)。

あとはこれは、これを「Deploy to App Engine」するだけ。
動いているところ => http://recopoint.appspot.com/resources/helloworld

おもわず『RESTful Java With JAX-RS』を注文してしまった。著者の Bill Burke という人は、JAX-RS の仕様を書いたエキスパートグループの一員で、JBoss/RedHat では JAX-RS を実装しているプロジェクトのリーダーらしい。