2006.07.07 株式会社四次元データ 鈴木 圭
4. Eclipseとの連携
- 4.1. Eclipse から Maven を利用するための設定
- 4.2. Maven プロジェクトを Eclipse のプロジェクトに変換する
- 4.3. Eclipse から mvn コマンドを実行する
- 4.4. Maven Repo Search Plugin
- 4.5. m2eclipse
- 4.6. まとめ
今回は、Maven と Eclipse を連携させる方法について説明します。
Maven にはコーディングに関するサポートがありませんので、プロジェクトの管理は Maven で行い、Eclipse などの IDE でコーディングを行うという使い分けをすると便利です。
Maven と Eclipse を連携させる方法には、Eclipse から外部ツールとして mvn コマンドを呼び出す方法と、後ほど紹介する m2eclipse などのプラグインを利用する方法があります。
4.1. Eclipse から Maven を利用するための設定
Maven を Eclipse から使用するために、Eclipse で以下の変数を定義する必要があります:
M2_REPO | Maven のローカルリポジトリのパス |
maven_exec (※名前は何でも良い) | mvn コマンドのパス |
これらの変数の定義は Eclipse のワークスペースに対して行うので、何度も行う必要はありません。
4.1.1. M2_REPO の設定
M2_REPO は Maven のローカルリポジトリの場所を表す変数で、次のコマンドで設定することができます (この作業はプロジェクトのディレクトリ以外で行っても構いません):
mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo
eclipse.workspace パラメータで Eclipse のワークスペースのあるディレクトリのパスを指定します。
Eclipse から変数の定義を行う場合は、手順で行います:
- Eclipse のメニューで [Window] -> [Preferences...] を選択します。
- [Java] -> [Build Path] -> [Classpath Variables] を選択します。
- 右側の [New] ボタンで新しく変数を追加します (Name には 「M2_REPO」、Path にはローカルリポジトリのパスを指定)。
デフォルトのローカルリポジトリのパスは、Windows の場合は %USERPROFILE%\.m2\repository、Linux の場合は ~/.m2/repository になります。
4.1.2. maven_exec の設定
次に mvn コマンドのパスを表す変数 (名前は任意ですが、ここでは「maven_exec」とします) を設定します:
- Eclipse のメニューで [Window] -> [Preferences...] を選択します。
- [Run/Debug] -> [String Substitution] を選択します。
- 右側の [New] ボタンで新しく変数を追加します (Name には「maven_exec」、Value には mvn コマンド (Windows では「M2_HOME/bin/mvn.bat」、Linux では「M2_HOME/bin/mvn」)、Description には適当な変数の説明 (例えば「maven executable」) を指定します。
4.2. Maven プロジェクトを Eclipse のプロジェクトに変換する
Maven で作成したプロジェクトを Eclipse で扱うために、次のコマンドを実行します:
次のコマンドを実行すると、Eclipse のプロジェクトに必要な .classpath や .project ファイルが作成されます。
mvn eclipse:eclipse
このコマンドを実行すると、Eclipse のプロジェクトに必要な .classpath や .project ファイルが作成されます。この作業を行った後に、Eclipse からプロジェクトを (「Existing Projects into Workspace」として) インポートすることで、プロジェクトを Eclipse で扱うことができるようになります。
また、このコマンドは pom.xml を編集するごとに行い、Eclipse でプロジェクトのリフレッシュ (「Package Explorer」でプロジェクトを選択して [F5] キーを押す) を行ってください。
4.3. Eclipse から mvn コマンドを実行する
Eclipse から mvn コマンドを実行するには、外部ツールとして実行します:
- Eclipse のメニューで [Run] -> [External Tools] -> [External Tools...] を選択します。
- 左側 (Configurations:) で [Program] を選択し、[New] ボタンを押します。
- [Main] タブを選択します。
- [Location:] の [Variables...] ボタンを押し、「maven_exec」を選択します。
- [Working Directory:] の [Variables...] ボタンを押し、「project_loc」を選択します。
- [Arguments:] の部分で mvn コマンドに渡す引数を入力します。
- [Run] ボタンを押して実行します。
Maven と Eclipse の連携という話なので、Eclipse から mvn コマンドを実行する方法を説明しましたが、Maven ではほとんどの作業をコマンド1つで行うことができるので、作業量はコンソールから直接 mvn コマンドを実行する方法と大差ありません。Eclipse から実行するか、コンソールから実行するか、好きな方法をとりましょう。
4.4. Maven Repo Search Plugin
前回、「Maven Repo Search」という Web サービスを紹介しましたが、「Maven Repo Search」には Eclipse から利用できるプラグインがあります:
Maven と Eclipse を連携して使う場合は「Maven Repo Search Plugin」を利用すると便利でしょう。
4.4.1. Maven Repo Search Plugin のインストール
ダウンロードした Maven Repo Search Plugin の圧縮ファイルを展開します。インストールするには、展開したフォルダに含まれる「plugins」を Eclipse の plugins フォルダに上書きコピーします。
インストール作業は以上です。Eclipse を起動中にインストール作業を行った場合は、一度 Eclipse を再起動します。
4.4.2. Maven Repo Search Plugin の使用
Maven Repo Search Plugin を使用するには、以下の手順で Maven Repo Search View を表示します。
- Eclipse のメニューの [Window] -> [Show View] -> [Other...] を選択します。
- [Maven Repo Search] -> [Maven Repo Search View] を選択して [OK] ボタンを押します。
あとは Maven Repo Search View で検索したいキーワードを入力し [Enter] キーを押せば、検索結果が表示されます。検索結果の上で右クリックを行うと、コンテキストメニューが表示されます。この中の「コピー (Dependency タグで)」を選択すると、pom.xml に追加するための dependency タグがクリップボートにコピーされます。
4.5. m2eclipse
他のプラグインとして m2eclipse というプラグインもあります:
m2eclipse (Maven 2.x Plug-in for Eclipse)
m2eclipse は Maven Repo Search のようにライブラリの検索をするだけではなく、検索で見つけたライブラリを自動で pom.xml の dependency に追加する機能や、一覧の中からフェイズやゴールを選択して実行する機能を持ちます。また、Maven で管理されていない通常のプロジェクトに pom.xml を作成する機能もあります。
4.5.1. m2eclipse のインストール
m2eclipse のインストールは Eclipse の Software Update 機能を用いて行います:
- Eclipse のメニューで [Help] -> [Software Updates] -> [Find and Install] を選択します。
- [Search for new features to install] を選択して [Next] ボタンを押します。
- [New Remote Site] ボタンを押して、新しいリモートサイトを追加します (Name には適当な名前 (ここでは「m2eclipse」とします)、URL には「http://m2eclipse.codehaus.org/」を指定して [OK] ボタンを押します)。
- 追加したリモートサイト (ここでは「m2eclipse」) にチェックを付けた状態で [Finish] ボタンを押します。
- あとはナビゲーションに従って進めばインストールは完了です。
4.5.2. m2eclipse の使用
Eclipse から m2eclipse を使用するには、次ので順でプロジェクトに対して m2eclipse を有効にします:
- Eclipse の「Package Explorer」で m2eclipse で扱いたいプロジェクトを右クリックします。
- コンテキストメニューから [Maven2] -> [Enable] を選択します。
- プロジェクトが pom.xml を持たない場合は、pom.xml を作成するための情報を求められるので、必要な情報を入力します。
m2eclipse を有効にした後、再び「Package Explorer」でプロジェクトを右クリックし、コンテキストメニューの [Maven2] を見ると、いくつかの操作が行えるようになっています。この中の [Add Dependency] を選択すると、ライブラリの検索と pom.xml への追加を行うことができます。
注意として、現状では m2eclipse は pom.xml を変更するときに <?xml version="..." encoding="..." ?> の encoding 属性を削除してしまうという問題があります。そのため、pom.xml に UTF-8 または UTF-16 以外の文字が含まれる場合は注意しましょう。
m2eclipse で Maven のフェイズやゴールを実行するには、以下の手順で行います:
- Eclipse のメニューの [Run] -> [External Tools] -> [External Tools...] を選択します。
- Configurations: で [m2 build] を選択し、[New] ボタンを押します。
- Main タブの [Base directory] で現在のディレクトリのパスを指定します。また、[Goals] ボタンを押すと Maven のフェイズやゴールを一覧から選択することができます。
- 設定が終わったら [Run] ボタンで実行します。
4.6. まとめ
現状では Maven を Eclipse から利用するためのプラグインはあまり多くはありませんが、今回紹介した方法だけでも、Maven を単体で使う場合のネックである、「コーディングのサポートがない」ことと「依存ライブラリの情報の検索/追加が面倒」という問題は十分解決できていると考えています。今後 m2eclipse を始め、周辺プラグインがより充実されることが期待されます。
次回予告
さて次回は、Maven を用いた開発の例ということで Web ベースの簡単なチャットプログラムを作成を行います。作成するプログラム自体は単純なものですが、Tomcat や Struts を利用するので、ある程度それらの予備知識を仕入れておいてください。