SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Eclipse Web Tools PlatformとMavenの統合

WTPとMaven2を使ったアプリケーション開発例

  • X ポスト
  • このエントリーをはてなブックマークに追加

いよいよ開発作業へ

 以降では、Mavenを使用し、jarを追加してクラスパスを変更するというM2プラグインの基本的な作業を主に取り上げます。エディタやリポジトリ検索ツールを使ってpom.xmlファイルを編集する方法や、Mavenのゴールを起動する方法を説明します。さらに、「Maven化」されたプロジェクトを、WTPを使用して起動およびデバッグする方法も紹介します。ここでは短めのコードを作成して、ごく簡単なMVCアプリケーションを完成させます。

 このアプリケーションがタグライブラリ関連の問題を起こさずに確実に動作するようにするため、以降の手順ではdisplaytagライブラリを使用します。

依存関係の管理

 最初に依存関係をいくつか追加します。プロジェクトを右クリックし、ポップアップメニューから[Maven]→[Add Dependencies]の順に選択してリポジトリ検索を起動してください。ここに「tomcat」と入力し、強調表示されたservlet-api jar(図5)を選択して[OK]ボタンをクリックすると、POMにjarが追加されます。

図5 依存関係を追加するリポジトリの検索: 最初に依存関係をいくつか追加
図5 依存関係を追加するリポジトリの検索: 最初に依存関係をいくつか追加

 pom.xmlファイルをエディタで開き、必要であれば[Source]タブをクリックして表示します。エディタ標準のコンテンツアシストを使用し、scopeにprovidedを挿入します(図6)。うまくいかない場合は、正しい場所に直接<scope>provided</scope>と入力してください。

図6 POMエディタ:エディタ標準のコンテンツアシストを使用し、scopeにprovidedを挿入
図6 POMエディタ:エディタ標準のコンテンツアシストを使用し、scopeにprovidedを挿入

 同様に、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を挿入します。

注意
 WTPで開発する場合、servlet-api jarは特に必要ありませんが、Maven 2のゴールをコマンドラインから実行するためには必要です。

 次回同じ検索を実行すると、新しく追加された依存関係が赤く表示されるため、pom.xmlファイルにこれが存在することがわかります(図7)。追加した依存関係は、削除しなければ再度追加することはできません。

図7 リポジトリ検索による既存の依存関係の強調表示: 新しく追加された依存関係が赤く表示される
図7 リポジトリ検索による既存の依存関係の強調表示: 新しく追加された依存関係が赤く表示される

Maven実行の設定

 Maven実行の設定をsample1.packageという名前で作成します。これには図8に赤い円で示したツールバーボタンを使います。続いて[Open External Tools Dialog]をクリックします。画面の指示に従い[Maven Build]を選択してMaven実行の設定を新規作成し、図8に赤い矢印で示したボタンをクリックします。[Base directory]を設定するには[Browse Workspace]を、[Goals]を設定するには[Select]をそれぞれ選択します。

図8 外部ツールを使用してMaven実行の設定を作成: Maven実行の設定を新規作成
図8 外部ツールを使用してMaven実行の設定を作成: Maven実行の設定を新規作成

 このサンプルではMaven実行の設定に以下の値を使用します。

  • Name: sample1.package
  • Base Directory: ${workspace_loc:/sample1}
  • Goals: package

 このようなゴールを設定すれば、追加の引数やVMの引数をMavenコマンドに渡すこともできます。[Run]ボタンをクリックしてから、jarがローカルのリポジトリにダウンロードされるのを、Eclipseコンソールに表示される進捗を見ながら待ちます。

 この操作を一度実行すれば、次回からはツールバーメニューのドロップダウンで素早くアクセスできます(図9)。

図9 最近使用したMaven実行の設定: 設定に素早くアクセス可能
図9 最近使用したMaven実行の設定: 設定に素早くアクセス可能

 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フォルダの外に置かれます)。

次のページ
WTPからのWebアプリケーションの起動

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Raghuraman Ramaswamy(Raghuraman Ramaswamy)

Xebia IT Architectsの上級コンサルタント。7年間のJ2EE開発経験がある。Sun認定Javaプログラマ、およびビジネスコンポーネントディベロッパの資格を持つ。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2321 2008/09/05 11:06

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング