Web API/Restfulアプリ開発環境構築

Pocket

ちょっとWeb APIみたいなものを作る機会があり、個人的にJavaが好きなのでJAX-RSを使って開発してみる事にしました。開発/動作環境の構築方法を残すことにします。

JAX-RSでRESTfulアプリを作るための環境構築作業は以下。
※JDKはインストール済みである前提
①Tomcatインストール
②Mavenインストール
③jerseyインストール(Eclipse+Tomcat環境)

ちなみに以下の書籍で勉強中です。

JAX-RSはJavaでRESTアーキテクチャのアプリを作るための仕様です。具体的にはURLを指定することでデータのやり取りをする仕組み(Web APIの方が通りが良いかも?)が作れます。

RESTとかRESTfulという名前は聞いていましたが、どうもHTTP通信(GETとかPOSTとか)で様々な処理を行えるようにアプリを作りこむようです。

JAX-RSはあくまで仕様なので、実際に実装したものが必要になります。色々あるようですが、日本語の情報が多そうなのは「Apache CXF」か「Jersey」でした。とりあえず最近の情報が多い「Jersey」で環境を作ります。ちなみにジャージーと読むらしいです。

最近の開発では一般的なのか、「Jersey」を使うにも「Maven」を使った方が便利なようですね。実際使ってみたらライブラリが自動でDLされました。、設定がちゃんとできればすごく便利ですね。。。流行るわけだ。

では以降が環境構築。

①Tomcatインストール
ApacheのサイトからCoreのzipか、Service installerをダウンロードしてインストールします。

Windowsでサービス登録等の手間を省きたいならService installerを使い、とりあえずファイルとして配置してインストールしない場合はzipが良いかと。

JAVA_HOMEやTOMCAT_HOMEの環境変数を設定すれば、あとは普通に動きます。

今回はTomcat 7(7.0.67)をインストールしてみました。
※JDKは1.8.0_65を使っています

Eclipseと連携させるためにEclipse側で以下設定。
メニュー->Window->Preferences->Server->Runtime Environments選択。「Add..」ボタン押下後、先ほどインストールしたTomcatと同バージョンの項目(「Apache Tomcat v7.0」)を選択し、「Next」ボタン押下。

Tomcat installation directoryの「Browse…」ボタンを押下し、インストール済みのTomcatのホームフォルダを指定。「JRE」はプロジェクト開発で使用するJDKを指定し、「Finish」ボタン押下。最後に「OK」ボタン押下で作業完了。

②Mavenインストール
Apacheのサイトからファイルをダウンロードします。

今回はMaven 3.2(3.2.5)を使ってみます。
※JDKは1.6以上でないとダメらしい

バイナリの「apache-maven-3.2.5-bin.zip」をダウンロードし、解凍。

環境変数「M2_HOME」をapache-maven-○.○.○フォルダとする。
※例)apache-maven-3.2.5-bin.zipを解答した場合、apache-maven-3.2.5-bin内に作成されるapache-maven-3.2.5

環境変数「M2_HOME」をapache-maven-○.○.○\binフォルダとする。
※例)apache-maven-3.2.5-bin.zipを解答した場合、apache-maven-3.2.5-bin内に作成されるapache-maven-3.2.5\bin

プロキシ環境下の場合、apache-maven-○.○.○\conf\settings.xmlにプロキシ設定を記述する。

③jerseyインストール(Eclipse+Tomcat環境)
今回はMaven(pom.xml)を使ってインストールしますが、別途ダウンロードして使う方法もあるようです。

Eclipseは「Eclipse IDE for Java EE Developers」を使用する事にしました。バージョンは現時点で最新のMars。

Windows環境で開発するので、Eclipseの文字コード設定をUTF-8に変更しておきます。
メニューからWindow->Preferencesで開いたダイアログからGeneral->Workspaceを選択。
「Text file encoding」をOther(UTF-8)に変更し、「OK」ボタン押下。

Tomcatとの連携は元々できるようなので、適当なプロジェクトを作成。メニューからFile->New->Other->Maven->Maven Projectを選択。

「Create a simple project(skip archetype selection)」と「Use default Workspace location」にチェックし、「Next」ボタン押下。
e_1_install_jaxrs

Artifact設定は以下。
e_2_install_jaxrs
・Group id :組織内等での内部組織を識別するための名前で、一般的にルートパッケージ名を指定
 ※例)メインの実行プログラムの場所が「△△/src/java/main/prog/maven/○○.java」なら、ルートパッケージ名は「main.prog.maven」
・Artifact id:プロジェクトを識別する名前で、一般的にプロジェクト名
 ※例)作成するファイルが△△.warなら、プロジェクト名を「△△」とする
・versionはデフォルト(0.0.1-SNAPSHOT)のまま
・Packagingはwarを選択
親プロジェクト(設定を引き継ぐpom.xml)は持たないのでParent Project以降、画面下半分の入力はなし。

生成されたプロジェクトの「pom.xml」を編集。

<project ...>
  ...
  <dependencies>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>1.18.4</version>
    </dependency>
  </dependencies>
</project>

バージョン部分に関してはこのサイトで調べられます。

検索ワードに「jersey-server」と入れて、存在するバージョンを調べましょう。

pom.xmlで「web.xml is missing and is set to true」というエラーメッセージが表示されている場合、web.xmlがないためです。

プロジェクトを右クリック->Java EE Tools->Generate Deployment Descriptor Stub選択。これでweb.xmlが自動生成されます。

とりあえず、以上。

お疲れ様でした。

広告

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です