2010年8月22日日曜日

Maven2.2 で新しいプロジェクトを作成する

Windows環境においてMaven2.2で新しいプロジェクトを作成する方法についてメモ。

Maven2での同手順については、以下のサイトなど諸処で解説されている。

■プロジェクトの作成 - Maven-THECHSCOPE
http://www.techscore.com/tech/ApacheJakarta/Maven/2-2.html

■Maven Getting Started Guide - Apache Maven Project
http://maven.apache.org/guides/getting-started/index.html

ようするに、Mavenをローカルにインストールし、mvnコマンドを実行できる状態にまでした上で
mvn archetype:create
-DgroupId=com.mycompany.app
-DartifactId=my-app

か(Maven-THECHSCOPEの場合)、
mvn archetype:create
-DarchetypeGroupId=org.apache.maven.archetypes
-DgroupId=com.mycompany.app
-DartifactId=my-app
を(Apache Maven Projectの場合)、実行するのだけど、どちらにしても警告が出る。

まず、「archetype:create」の部分は、「archetype:generate」が正しい(Mavenのバージョンのちがいによるものと思われる)。
また前者のコマンドを実行した場合、プロジェクトの構築中に、
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
と表示されて、アーキタイプとそのバージョンを、数字で選択するよう促される。アーキタイプについては、「org.apache.maven.archetypes:maven-archetype-quickstart:1.0」がデフォルトのようだったが、これは環境や、直前の操作に影響されるものかもしれない。

前者のコマンドの場合、アーキタイプとバージョンへの回答が済むと、あとは放っておけばプロジェクトの作成が完了する。後者の場合は、アーキタイプの選択をせずとも作業は完了する。

また、こちらのサイトでも述べられていたが、どちらのコマンドもそのままではPowershell上で実行できない。コマンドプロンプトでは問題ないが、Powershell上で実行する場合は、「-D○○」系のオプションを1つ1つ、「"」(ダブルクオテーション)で囲う必要がある。
(そうしないと、コマンドの構文解析に失敗するらしく、どう足掻いてもエラーになる。)

つまり、こうなる。
mvn archetype:generate
"-DarchetypeGroupId=org.apache.maven.archetypes" (アーキタイプ・グループID)
"-DgroupId=com.m12i.myapp" (デフォルト・パッケージ名)
"-DartifactId=my-app" (作成するプロジェクト名)
※コマンドは、可読性のために改行を施したが、実際に実行する場合はこれらの改行はなくする。

0 件のコメント: