Mavenを実行したい時は(Mavenに限ったことじゃないけど)、mvnコマンドを打ってもいいし、Eclipseプラグインでやってもいい。
1) コマンドで作成→eclipseにインポート
次のコマンドを打つ。
mvn archetype:generateあとは、聞かれた通りに、
- 元にするarchetype(プロジェクトのひな形)
- groupId(パッケージ名)
- artifactId(プロジェクト名)
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を選択しておけばいいと思う。ちなみに各カタログについては次の通り。
- Nexus Indexer: NexusはSonatype(Apacheから派生。Maven開発元。)が出しているMavenリポジトリ管理ツール。Maven CentralリポジトリのIndexingなど、Nexus Indexerが使われてるリポジトリが多いみたい。
- Internal: Maven Archetype pluginのinternalに提供されるカタログ(多分)。
- 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 件のコメント:
コメントを投稿