Mavenテンプレートを使ってプロジェクトを作成する方法
このチュートリアルでは、 `mvn archetype:generate`を使って既存のMavenテンプレートのリストからプロジェクトを生成する方法を説明します。 Maven 3.1.1には1000個のテンプレートがあり、夢中です。Mavenチームはいくつかの無駄なテンプレートを除外すべきです。
通常、次の2つのテンプレートを使用します。
-
maven-archetype-webapp
– Java Webプロジェクト(WAR) -
maven-archetype-quickstart
– Javaプロジェクト(JAR)
1. Maven 1000テンプレート
`mvn archetype:generate`と入力すると1000個のテンプレートが画面に表示され、あなたはそれを見たり選択したりすることができません。それを解決するには、テンプレートリストを次のようなテキストファイルに出力します:
$ mvn archetype:generate > templates.txt //waiting few seconds, then exits Press CTRL + C $ vim templates.txt
2. Mavenのアーキタイプ:生成する
既存のSpring-HibernateテンプレートからWebプロジェクトを生成する方法を説明する手順:
2.1 Mavenテンプレートを列挙する:
$ mvn archetype:generate [INFO]Scanning for projects...[INFO][INFO]------------------------------------------------------------------------[INFO]Building Maven Stub Project (No POM) 1[INFO]------------------------------------------------------------------------[INFO][INFO]>>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>[INFO][INFO]<<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<<[INFO][INFO]--- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---[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: 311: remote -> jboss:mobicents-ra-archetype (An archetype for slee resource adaptor.)//... 314: remote -> ml.rugal.archetype:springmvc-spring-hibernate (A pretty useful JavaEE application archetype based on springmvc spring and hibernate) //... 486: remote -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.) 487: remote -> org.apache.maven.archetypes:maven-archetype-marmalade-mojo (-) 488: remote -> org.apache.maven.archetypes:maven-archetype-mojo (An archetype which contains a sample a sample Maven plugin.) 489: remote -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.) 491: remote -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.) 492: remote -> org.apache.maven.archetypes:maven-archetype-profiles (-) 493: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)//...
2.2「ml.rugal.archetype:springmvc-spring-hibernate」テンプルテーションの番号「314」を選択し、詳細を記入してください:
Choose a number or apply filter (format:[groupId:]artifactId, case sensitive contains): 493: 314 Choose ml.rugal.archetype:springmvc-spring-hibernate version: 1: 0.1 2: 0.2 3: 0.3 Choose a number: 3: 3 Downloading: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.jar Downloaded: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.jar (29 KB at 19.7 KB/sec) Downloading: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.pom Downloaded: http://repo.maven.apache.org/maven2/ml/rugal/archetype/springmvc-spring-hibernate/0.3/springmvc-spring-hibernate-0.3.pom (4 KB at 5.5 KB/sec) Define value for property 'groupId': : com.mkyong.web Define value for property 'artifactId': : myweb Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.mkyong.web: : Confirm properties configuration: groupId: com.mkyong.web artifactId: myweb version: 1.0-SNAPSHOT package: com.mkyong.web Y: : y[INFO]----------------------------------------------------------------------------[INFO]Using following parameters for creating project from Archetype: springmvc-spring-hibernate:0.3[INFO]----------------------------------------------------------------------------[INFO]Parameter: groupId, Value: com.mkyong.web[INFO]Parameter: artifactId, Value: myweb[INFO]Parameter: version, Value: 1.0-SNAPSHOT[INFO]Parameter: package, Value: com.mkyong.web[INFO]Parameter: packageInPathFormat, Value: com/mkyong/web[INFO]Parameter: package, Value: com.mkyong.web[INFO]Parameter: version, Value: 1.0-SNAPSHOT[INFO]Parameter: groupId, Value: com.mkyong.web[INFO]Parameter: artifactId, Value: myweb[INFO]project created from Archetype in dir:/Users/mkyong/Documents/workspace/maven/template/myweb[INFO]------------------------------------------------------------------------[INFO]BUILD SUCCESS[INFO]------------------------------------------------------------------------[INFO]Total time: 35.210s[INFO]Finished at: Tue Oct 28 15:32:10 MYT 2014[INFO]Final Memory: 10M/29M[INFO]------------------------------------------------------------------------
以下のプロジェクトフォルダとファイルが生成されます。
Figure:Eclipse IDEで生成されたプロジェクト構造.
-
Note ** プロジェクトをEclipseにインポートするには、 `mvn eclipse:eclipse`と打ち込んで、通常のプロジェクトとしてインポートします:
$ cd myweb $ pwd/Users/mkyong/Documents/workspace/maven/template/myweb $ mvn eclipse:eclipse
3.その他の例
使用する `archetypeArtifactId`が分かっている場合は、次のような対話モードでコマンドをスキップしてください:
-
3.1 ** maven-archetype-quickstart(Javaプロジェクト)
$ mvn archetype:generate -DgroupId=com.mkyong.core -DartifactId=ProjectName -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
この例を見てください –
Mavenを使ってJavaプロジェクトを作成する方法
-
3.2 ** maven-archetype-webapp(Java Webプロジェクト)
$ mvn archetype:generate -DgroupId=com.mkyong.web -DartifactId=ProjectName -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
この例を見てください –
Mavenを使ってJava Webアプリケーションプロジェクトを作成する方法
参考文献
maven archetype:generate]。
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
[Guide
アーキタイプを作成する]。
http://maven.apache.org/archetype/maven-archetype-plugin/usage.html
[Maven
アーキタイププラグイン – 使用法]。
Rugal Bernsteinの個人サイト