Mavenをサポートするプラグイン

MavenはApache Software Foundationで開発されているJavaベースのビルドツールだ。Javaベースのビルドツールというと同じくApache Software Foundationで開発されているApache Antが有名だが、AntはコンパイルやJARファイルの生成などすべての処理をビルドファイルに記述する必要があるのに対し、MavenではMavenのルールに従うことで、あらかじめMavenで提供されているビルドプロセスを利用することができる。

今回はEclipseとMavenを組み合わせて利用するためのプラグインとしてq4e、m2eclipse/m2eclipse-lightを紹介する。

q4e

q4eはMavenをEclipse上から利用するためのプラグインで、こちらの更新サイトからインストールすることができる。

q4eは以下のような機能を提供している。

  • Mavenプロジェクトを作成するためのウィザード
  • ライブラリの管理
  • Mavenビルドの自動実行
  • ビルド時のログを表示するイベントビュー
  • Mavenのゴールをメニューから実行
  • プロジェクトの依存関係をグラフィカルに表示
  • pom.xmlをグラフィカルに編集するためのエディタ

Mavenプロジェクトではプロジェクトのコンテキストメニューからq4eの機能を呼び出すことが可能だ。

図1 q4eのコンテキストメニュー

Mavenプロジェクトのコンテキストメニューから「Maven2」→「Manage Dependencies」でライブラリの追加/削除を行うためのダイアログが表示される。ライブラリはインクリメンタルサーチが可能だ。また、Mavenのビルド時のログはイベントビューに表示される。

図2 ライブラリの管理

図3 イベントビュー

Mavenプロジェクトのコンテキストメニューから「Maven2」→「View dependencies」でプロジェクトの依存関係をグラフ表示することができる。

図4 依存関係の表示

Mavenではプロジェクトのビルド設定をpom.xmlという設定ファイルに記述する。q4eではpom.xmlの編集を支援するエディタが提供されている。pom.xmlの設定項目は多岐に渡るが、このエディタは設定項目のカテゴリごとにタブがわかれており、直感的に編集を行うことが可能だ。

図5 pom.xmlエディタ

m2eclipse-light

もう1つのMaven向けのEclipseプラグインとして、m2eclipseがある。q4eとほぼ同等の機能が提供されており、こちらの更新サイトからインストールすることができる。

q4eとm2eclipseどちらにもいえることだが、Eclipse上でプログラミングしている最中にMavenのビルドが実行されることがあり、作業が中断されてしまうという問題がある。この問題を解決するために、m2eclipseからビルドパスを解決する機能以外の機能を削ぎ落としたm2eclipse-lightというプラグインがSeasar Projectで開発されている。

m2eclipse-lightはこちらの更新サイトからインストールすることが可能だ。

Ymirカテゴリの中からm2eclipse-lightを選択してインストールすればよい。なお、m2eclipse-lightの利用にはMaven Embedderが必要となる。こちらはm2eclipseの更新サイトからインストールすることができる。

図6 m2eclipse-lightのインストール

m2eclipse-lightの機能はMavenプロジェクトのコンテキストメニューから呼び出すことができる。ビルドパスの解決に特化しているため、非常にシンプルだ。

図7 m2eclipse-lightのコンテキストメニュー

まとめ

今回はEclipseとMavenを組み合わせて利用するためのプラグインを紹介したが、Maven側にもMavenのプロジェクトをEclipse上で利用できるようにするための設定ファイルを生成するためのmaven-eclipseプラグインが提供されている。この場合、Eclipse上ではMavenを意識せずにプログラミングを行い、必要に応じてコマンドラインからMavenを実行するスタイルになる。

Mavenはそれ自体で完結したビルドツールであるため、IDEとの相性が悪い側面がある。場合によってはMaven側でmaven-eclipseプラグインを利用したり、m2eclipse-lightのようにEclipse上でのビルドパスを解決する機能のみ利用するといった方法も検討するといいだろう。