倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Archetype -- generate ゴール (2):パラメータを指定してプロジェクトを作成する

今回は「パラメータを指定してプロジェクトを作成する」方法を見ていきます(一覧)。 この方法は、Archetype プラグインの「create ゴール」と同じです*1

パラメータを指定してプロジェクトを作成する


プロジェクト生成の流れは以下のようになります:

  • コマンドを実行する
  • プロジェクトのパラメータを設定する

★コマンドを実行する★


「mvn」コマンドを実行する際に、作成したい archetype の groupId, artifactId, version をパラメータとして指定します。 ここでは各パラメータの値を以下のようにしましょう:

パラメータ名
archetypeGroupId org.codehaus.groovy.maven.archetypes
archetypeArtifactId gmaven-archetype-basic
archetypeVersion 1.0-rc-3

プロジェクトを生成するためには、次のコマンドを実行します(1行で):


mvn archetype:generate
-DarchetypeGroupId=org.codehaus.groovy.maven.archetypes
-DarchetypeArtifactId=gmaven-archetype-basic
-DarchetypeVersion=1.0-rc-3

これを実行すると、以下のようなメッセージが表示されます:

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:generate]
[INFO] Generating project in Interactive mode
[INFO] Archetype [org.codehaus.groovy.maven.archetypes:gmaven-archetype-basic:1.0-rc-3] found in catalog internal

ちなみに、パラメータ「archetypeVersion」は省略しても構いません:


mvn archetype:generate
-DarchetypeGroupId=org.codehaus.groovy.maven.archetypes
-DarchetypeArtifactId=gmaven-archetype-basic

★プロジェクトのパラメータを設定する★

これ以後は前回の「プロジェクトのパラメータを設定する」と同じです:

Define value for groupId: : org.sample[Enter]
Define value for artifactId: : sample[Enter]
Define value for version: 1.0-SNAPSHOT: :[Enter]
Define value for package: org.sample1: : [Enter]
Confirm properties configuration:
name: Example Project
groupId: org.sample
artifactId: sample
version: 1.0-SNAPSHOT
package: org.sample
Y: :y[Enter]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19 seconds
[INFO] Finished at: Sun Apr 26 03:53:39 JST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------

以上で終了。

Apache Maven 2.0入門 Java・オープンソース・ビルドツール

Apache Maven 2.0入門 Java・オープンソース・ビルドツール

*1:「create ゴール」は deprecated(非推奨)になってますが。