いよいよ開発作業へ
以降では、Mavenを使用し、jarを追加してクラスパスを変更するというM2プラグインの基本的な作業を主に取り上げます。エディタやリポジトリ検索ツールを使ってpom.xmlファイルを編集する方法や、Mavenのゴールを起動する方法を説明します。さらに、「Maven化」されたプロジェクトを、WTPを使用して起動およびデバッグする方法も紹介します。ここでは短めのコードを作成して、ごく簡単なMVCアプリケーションを完成させます。
このアプリケーションがタグライブラリ関連の問題を起こさずに確実に動作するようにするため、以降の手順ではdisplaytagライブラリを使用します。
依存関係の管理
最初に依存関係をいくつか追加します。プロジェクトを右クリックし、ポップアップメニューから[Maven]→[Add Dependencies]の順に選択してリポジトリ検索を起動してください。ここに「tomcat」と入力し、強調表示されたservlet-api jar(図5)を選択して[OK]ボタンをクリックすると、POMにjarが追加されます。
![図5 依存関係を追加するリポジトリの検索: 最初に依存関係をいくつか追加 図5 依存関係を追加するリポジトリの検索: 最初に依存関係をいくつか追加](http://cz-cdn.shoeisha.jp/static/images/article/2321/2321_05.gif)
pom.xmlファイルをエディタで開き、必要であれば[Source]タブをクリックして表示します。エディタ標準のコンテンツアシストを使用し、scopeにprovided
を挿入します(図6)。うまくいかない場合は、正しい場所に直接<scope>provided</scope>
と入力してください。
![図6 POMエディタ:エディタ標準のコンテンツアシストを使用し、scopeにprovidedを挿入 図6 POMエディタ:エディタ標準のコンテンツアシストを使用し、scopeにprovidedを挿入](http://cz-cdn.shoeisha.jp/static/images/article/2321/2321_06.gif)
同様に、JUnitとdisplaytagの依存関係を追加します。pom.xmlは以下のようになります。
<?xml version="1.0" encoding="UTF-8"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>sample1</groupId> <artifactId>sample1</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <description></description> <dependencies> <dependency> <groupId>tomcat</groupId> <artifactId>servlet-api</artifactId> <version>5.5.15</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </dependency> <dependency> <groupId>displaytag</groupId> <artifactId>displaytag</artifactId> <version>1.1.1</version> </dependency> </dependencies> </project>
JUnitのservlet-api jarではscopeにtest
を挿入し、Tomcatではscopeにprovided
を挿入します。
次回同じ検索を実行すると、新しく追加された依存関係が赤く表示されるため、pom.xmlファイルにこれが存在することがわかります(図7)。追加した依存関係は、削除しなければ再度追加することはできません。
![図7 リポジトリ検索による既存の依存関係の強調表示: 新しく追加された依存関係が赤く表示される 図7 リポジトリ検索による既存の依存関係の強調表示: 新しく追加された依存関係が赤く表示される](http://cz-cdn.shoeisha.jp/static/images/article/2321/2321_07.gif)
Maven実行の設定
Maven実行の設定をsample1.packageという名前で作成します。これには図8に赤い円で示したツールバーボタンを使います。続いて[Open External Tools Dialog]をクリックします。画面の指示に従い[Maven Build]を選択してMaven実行の設定を新規作成し、図8に赤い矢印で示したボタンをクリックします。[Base directory]を設定するには[Browse Workspace]を、[Goals]を設定するには[Select]をそれぞれ選択します。
このサンプルではMaven実行の設定に以下の値を使用します。
- Name: sample1.package
- Base Directory: ${workspace_loc:/sample1}
- Goals: package
このようなゴールを設定すれば、追加の引数やVMの引数をMavenコマンドに渡すこともできます。[Run]ボタンをクリックしてから、jarがローカルのリポジトリにダウンロードされるのを、Eclipseコンソールに表示される進捗を見ながら待ちます。
この操作を一度実行すれば、次回からはツールバーメニューのドロップダウンで素早くアクセスできます(図9)。
![図9 最近使用したMaven実行の設定: 設定に素早くアクセス可能 図9 最近使用したMaven実行の設定: 設定に素早くアクセス可能](http://cz-cdn.shoeisha.jp/static/images/article/2321/2321_09.gif)
cleanやtestなどの一般的なMavenゴールを追加するには、プロジェクトを右クリックし、ポップアップメニューから[Run As]を実行して、追加するMavenゴールを選択します。
ここまで進んだら、次はコードを追加します。
コードの追加
サーブレットとJavaServer Page(JSP)は、[File]→[New]→[Other]→[Web]の順に選択して表示されるウィザードで作成できます。このウィザードを使ってサーブレットを作成した場合は、web.xmlにサーブレットが登録されているはずなので確認してください。もし登録されていなければ、サンプルアプリケーションのダウンロードファイルに含まれているweb.xmlを利用してください。
この簡単なサンプルアプリケーションでは、index.jspからサーブレットに転送され、さらにそこからビューのJSPへと転送されます。このアプリケーションでは、displaytagタグライブラリを使用したテーブルの表示も行います。ダウンロードファイルに収録されているコードを使用すれば、このアプリケーションを簡単に作成できます。zipファイルを解凍し、srcフォルダの内容をsample1プロジェクトのsrcフォルダにコピーしてください。この他にコードに関連するファイルはpom.xmlファイルだけです(いずれにしても、このファイルはsrcフォルダの外に置かれます)。