Archetype プラグインは Maven2 によって管理可能なプロジェクトのテンプレートを作成するプラグインです。 Maven2 を使う際に最も最初に(意識して)使うプラグインでしょう。
普通そんなに頻繁にプロジェクトを作成したりしないので、余り使い方を覚える必要はないかと思います。 「久しぶりにプロジェクトを新規作成する」ってときに便利な程度に使い方をまとめておきましょう*1。
とりあえずプロジェクトを作ってみる
とりあえず、シンプルな Java プロジェクトを作ってみましょう。
♪作成前に♪
プロジェクトを作成する前に、まず「グループ ID (Group ID)」と「アーティファクト ID (Artifact ID)」を決めましょう。 「グループ ID」は開発グループの識別子であり、またデフォルトでは Java プログラムのパッケージ名になります。 一方、「アーティファクト ID」はプロジェクトの成果物に付けられる名前です。 以下では
- グループ ID : org.sample
- アーティファクト ID : sample
とします。
♪作成方法♪
「グループ ID」「アーティファクト ID」が決まったら、コマンド・プロンプトでプロジェクトを作成したいフォルダへ行き、以下のコマンドを実行しましょう:
mvn archetype:create -DgroupId=org.sample -DartifactId=sample
♪作成結果♪
上記のコマンドを実行すると、そのフォルダ下に「sample」フォルダが作成され、そのフォルダ下に POM ファイルや「src」フォルダなどが作成されます。
他に指定できるパラメータは?
上記のサンプルでは、プロジェクトの作成の際、groupId, artifactId, version の3つのパラメータを指定しました。 ここでは、それらと、それらの他に指定できるパラメータを幾つかピックアップして表にしておきます:
パラメータ名 | 指定対象 | デフォルト値 |
---|---|---|
groupId | 開発グループの ID | - |
artifactId | 成果物の ID | - |
version | 成果物のバージョン | 1.0-SNAPSHOT |
packageName | (ルート)パッケージ名 | 「groupId」の値 |
archetypeArtifactId | プロジェクト・テンプレートの ID(種類) | maven-archetype-quickstart |
その他の指定可能なパラメータはこちらを参照。
パラメータの指定の仕方は、プロジェクトを作成する際「mvn archetype:create」に続けて
-Dパラメータ名=パラメータの値
を列挙します。
パッケージ名とグループ ID
パッケージ名は、特に指定しない限りグループ ID と同じになります。 ただし、1度作ったプロジェクト内でもパッケージ階層を1から作り直しても特に問題はありません。
もう少し具体的に。 上記のサンプルを実行して作ったプロジェクトでは「src/main/java」フォルダ下に Java パッケージ「org.sample」に対応する「org/sample」フォルダが作られています。 ここで、「org」フォルダ以下を削除して、「com/example」フォルダを作成し、その下にクラスを作成していっても特に問題は起こりません*2。
まぁ、あまり関係のないフォルダ構造にしても混乱するだけですが、Maven2 のリポジトリを覗いてみると、グループ ID とパッケージ名が異なっているものが結構あります(というより、ほとんど異なっています)。 例えば、ロギング・コンポーネント「commons-logging」は、(ルート)パッケージ名が「org.apache.commons.logging」ですが、グループ ID は「commons-logging」となっています。
結局、グループ ID とは Maven2 のリポジトリ上で成果物を何処に配置するかを指定するものと思えばよいかと思います。 Java パッケージとは基本的に無関係です。
いろいろなプロジェクト・テンプレート -- Archetype Artifact ID
パラメータ「archetypeArtifactId」にいろいろな値を設定することによって、いろいろな種類のプロジェクト・テンプレートを作成することが出来ます:
- maven-archetype-archetype
- maven-archetype-j2ee-simple
- maven-archetype-mojo
- maven-archetype-portlet
- maven-archetype-profiles
- maven-archetype-quickstart
- maven-archetype-simple
- maven-archetype-site
- maven-archetype-site-simple
- maven-archetype-webapp
それぞれのプロジェクトテンプレートの概要は次回以降に。
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る
- 作者: Steve Holzner,長瀬嘉秀(監訳),株式会社テクノロジックアート
- 出版社/メーカー: オライリージャパン
- 発売日: 2005/11/18
- メディア: 大型本
- 購入: 2人 クリック: 20回
- この商品を含むブログ (18件) を見る