今回から何回かにわたって、Groovy を使った Maven2 プラグイン(以下「GMaven プラグイン」)の開発方法を見ていきます(Implemeting Maven Plugins 参照)。 今回は GMaven プラグイン・プロジェクトの生成方法(一覧)。
- GMaven プラグイン・プロジェクトの生成 (Groovy 1.5)
- GMaven プラグイン・プロジェクトの生成 (Groovy 1.6)
- GMaven プラグイン・プロジェクトの生成 (Groovy 1.7)
- 生成されるプロジェクト
GMaven プラグイン・プロジェクトの生成 (Groovy 1.5)
Groovy 1.5 以前のバージョンでよい場合は、対話的にプロジェクトを生成すると簡単です。 対話的にプロジェクトを生成する方法は、毎度の如く
mvn archetype:generate
と入力し、後は画面にそって求められているパラメータ値を入力していくだけです。 ただし、archetype の種類を指定する番号は 41 (gmaven-archetype-mojo) にします。 以下のパラメータ
パラメータ | 値 |
---|---|
groupId | org.sample |
artifactId | sample*1 |
version | 1.0-SNAPSHOT (デフォルト値) |
package | org.sample (= groupId デフォルト値) |
でプロジェクトを作成するには、以下のようにします:
>mvn archetype:generate[Enter]
[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 {execution: default-cli}]
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
...
40: internal -> gmaven-archetype-basic (Groovy basic archetype)
41: internal -> gmaven-archetype-mojo (Groovy mojo archetype)
Choose a number: (1/.../40/41) 15: : 41[Enter]
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.sample: : [Enter]
Confirm properties configuration:
name: Example Maven Plugin
groupId: org.sample
artifactId: sample
version: 1.0-SNAPSHOT
package: org.sample
Y: : y[Enter]
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/src/main/groovy/HelloMojo.groovy [line 37,column 31] : ${message} is not a valid reference.
[WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/src/main/groovy/HelloMojo.groovy [line 42,column 18] : ${message} is not a valid reference.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38 seconds
[INFO] Finished at: Fri Apr 23 16:11:21 JST 2010
[INFO] Final Memory: 8M/21M
[INFO] ------------------------------------------------------------------------
GMaven プラグイン・プロジェクトの生成 (Groovy 1.6)
Groovy 1.6 を使用したい場合は、対話的にプロジェクトが生成できないので、以下のようにパラメータを指定しなければなりません(1行で)。
mvn archetype:generate
-DarchetypeGroupId=org.codehaus.gmaven.archetypes
-DarchetypeArtifactId=gmaven-archetype-mojo
-DarchetypeVersion=1.2
- archetypeGroupId は「org.codehaus.gmaven.archetypes」です。
- archetypeVersion も指定する必要があります。
GMaven プラグイン・プロジェクトの生成 (Groovy 1.7)
Groovy 1.7 を使用したい場合は、上記 Groovy 1.5 / 1.6 の方法でプロジェクトを生成した後、pom.xml を修正(もしくは置き換え)する必要があります。 これについては次回以降に。
生成されるプロジェクト
生成されるプロジェクトのフォルダ構造は以下のようになります。
- 「src/main/groovy」・・・ソースコードを配置するフォルダ
- 「src/test/groovy」・・・テストコードを配置するフォルダ
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る