2011年10月31日月曜日

[Java][Maven] 今さらかもだけどMaven入門してみた(2) - プロジェクト作成、キーワード

■プロジェクト作成

Mavenを実行したい時は(Mavenに限ったことじゃないけど)、mvnコマンドを打ってもいいし、Eclipseプラグインでやってもいい。

1) コマンドで作成→eclipseにインポート
次のコマンドを打つ。
mvn archetype:generate
あとは、聞かれた通りに、

  • 元にするarchetype(プロジェクトのひな形)
  • groupId(パッケージ名)
  • artifactId(プロジェクト名)
を入力する。Eclipseへのインポートは次の通り。
Project Explorerで右クリック、Import > Maven > Existing Maven Project
(このとき.classpathにmavenのプロジェクト構成で決まっているソースパスやコンパイル出力先などが書かれる。)
これで、Eclipse上で作業できるようになる。

2) Eclipseプラグイン(m2e)で作成
Project Explorerで右クリック、New > Project > Maven > Maven Project
で作成。成果物を複数のプロジェクトで構成したい場合は、Maven Projectの代わりにMaven Moduleを選べば、プロジェクト内でのモジュールとなるプロジェクトを作成できる。
ダイアログの途中で選択する項目は次の通り。
  • Archetype
    • webapp向け、scala向け、jetty向け、などなどあるので、自分が作ろうとしているものがないか探す。
    • まずArchetypeカタログを選び、そのカタログに載っている好きなarchetypeを選択する。カタログはとりあえずAll Catalogを選択しておけばいいと思う。ちなみに各カタログについては次の通り。
  • GroupId:パッケージ名
  • ArtifactId:プロジェクト名

■Mavenの概念
ここから先は、とりあえず以下の項目について簡単に理解しておくとスムーズになると思う。

ビルドフェーズ
Mavenでは開発中にどういうフェーズがあるのか、が明確に定義されている。Mavenを実行するときは、フェーズ単位で実行する。
Mavenプラグイン
Mavenの機能は、様々なプラグインの形で提供されている。なので、Mavenを設定する、というのは、実質的には自分のやりたいことに対応するプラグインを選んで、設定して、という作業の繰り返しになる。
  • Ref: Available Plugins: http://maven.apache.org/plugins/index.html

Dependency
=依存するライブラリ、と思っているのだけど、ライブラリ以外にもdependencyになるものってあるのかな?

pom.xml
Mavenプロジェクトの設定ファイル。ここに、使いたいdependencyやプラグイン、プラグインの設定を書いていく。デフォルトのものを継承する形になるので、自分がカスタマイズしたい所だけ書けばいい。デフォルトのPOMはEclipseだとpom.xmlを開くとEffective POMタブで確認できる。

ゴール
プラグインの持つ機能みたいなイメージ。maven archetype:generate, ってするときのgenerateがゴール。pom.xmlで、プラグインに対してどのフェーズで、どのゴールを実行するのかを設定する。

0 件のコメント: