Eclipse上のJavaによるRESTfulシステム構築

4873114675Bill Burke『JavaによるRESTfulシステム構築』(オライリー, 2010)

JAX-RSについて解説した好著『JavaによるRESTfulシステム構築』のサンプルプログラムをEclipseで動かす方法を紹介します。ちょっと長いので、面倒な人は本のとおりにコンソールから実行するといいでしょう。

  1. JDKをインストールする
  2. Maven 2.0系列をダウンロード・展開する
  3. Eclipse Ultimate Standard All in Oneをダウンロード・展開する
  4. eclipse.iniの最初にjavawの場所を記述する(Program Filesではなく、Progra~1あるいはProgra~2のような、スペースを含まない表記を使う。エクスプローラでディレクトリ、この例では「C:\Progra~2\Java\jdk1.6.0_21\bin」を開けることを確認するといい)
-vm
C:\Progra~2\Java\jdk1.6.0_21\bin\javaw 
  1. eclipse.exeをダブルクリックして、Eclipseを起動する
  2. ウィンドウ→設定で、インストール済みのJREにJDKを追加・有効にする
  3. m2eclipseをインストールする。Eclipseのヘルプ→新規ソフトウェアのインストールで、http://m2eclipse.sonatype.org/sites/m2e を追加する(名前は適当。m2eclipseなど)
  4. Eclipse用Maven統合をチェックする
  5. Eclipseを再起動する(その際、ファイアウォールを通過させる)
  6. Mavenのインストールに、2.0系列を追加する
  7. プロキシが必要な場合には、MavanのUser Settingsで指定されたファイルを作り、以下のような設定を記述する
<?xml version="1.0" encoding="UTF-8"?>
<settings>
 <proxies>
  <proxy>
     <active>true</active>
     <protocol>http</protocol>
     <host>scproxy.aoyama.ac.jp</host>
     <port>3128</port>
   </proxy>
 </proxies>
</settings>

  1. RESTEasyのsrc.zipをダウンロード・展開する
  2. Eclipseで、ファイル→インポート→Maven→Mavenプロジェクトの具体化→次へ→完了
  3. examples/oreilly-workbookを選択する
  4. 完了をクリックし、しばらく待つ
  5. プロジェクト・エクスプローラでworkbook-ex03_1を右クリック→実行→Maven install
  6. 「Address already in use: JVM_Bind」というエラーが出たら、コマンドプロンプトでnetstatとして、ポート9095と9999を確認、使われているポートを確認して、pom.xmlを修正する(9095を変更した場合は、CustomerResourceTest.javaも修正が必要)。WindowsならTCPViewを使ってもよい

うまくいけば、次のような結果が表示されるはずです。

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.restfully.shop.test.CustomerResourceTest
*** Create a new Customer ***
79 [12932988@qtp-1704781-0] INFO org.jboss.resteasy.spi.ResteasyDeployment - Deploying javax.ws.rs.core.Application: class com.restfully.shop.services.ShoppingApplication
81 [12932988@qtp-1704781-0] INFO org.jboss.resteasy.spi.ResteasyDeployment - Adding singleton resource com.restfully.shop.services.CustomerResource from Application javax.ws.rs.core.Application
Created customer 1
Location: http://localhost:9095/customers/1
*** GET Created Customer **
Content-Type: application/xml
<customer id="1">
   <first-name>Bill</first-name>
   <last-name>Burke</last-name>
   <street>256 Clarendon Street</street>
   <city>Boston</city>
   <state>MA</state>
   <zip>02115</zip>
   <country>USA</country>
</customer>
**** After Update ***
Content-Type: application/xml
<customer id="1">
   <first-name>William</first-name>
   <last-name>Burke</last-name>
   <street>256 Clarendon Street</street>
   <city>Boston</city>
   <state>MA</state>
   <zip>02115</zip>
   <country>USA</country>
</customer>
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.217 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] [jetty:stop {execution: stop-jetty}]
[INFO] Stopping server 0
[INFO] [install:install]
[INFO] Installing C:\Users\yabuki\Desktop\resteasy-jaxrs-2.0.1.GA\examples\oreilly-workbook\ex03_1\target\workbook-ex03_1-1.0.war to C:\Users\yabuki\.m2\repository\com\oreilly\rest\workbook\workbook-ex03_1\1.0\workbook-ex03_1-1.0.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Tue Oct 05 16:17:52 JST 2010
[INFO] Final Memory: 15M/35M
[INFO] ------------------------------------------------------------------------
2010-10-05 16:17:52.392::INFO:  Shutdown hook executing
2010-10-05 16:17:52.841::INFO:  Shutdown hook complete

うまくいかないとき

  • Eclipseを再起動する
  • 実行→Maven clean

workbook-ex05_2は実行方法が変わります。右クリック、実行、実行の構成で適当な規定ディレクトリを選択、ゴールを「jetty:run」としてください。

2 thoughts on “Eclipse上のJavaによるRESTfulシステム構築

  1. ピンバック: Tweets that mention Eclipse上のJavaによるRESTfulシステム構築 | inquisitor -- Topsy.com

  2. ピンバック: なまこの日誌 - Java読書会BOF『JavaによるRESTfulシステム構築』を読む会 第一回

コメントは停止中です。