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 List out the Maven templates :
$ 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 Choose number “314” for ml.rugal.archetype:springmvc-spring-hibernate
templete, and fill in the detail :
Note
この数値314は、ご使用の環境によって異なる場合があります。 上記のステップ1にリストされている手法で正しい番号を見つけてください。
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.example.web Define value for property 'artifactId': : myweb Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.example.web: : Confirm properties configuration: groupId: com.example.web artifactId: myweb version: 1.0-SNAPSHOT package: com.example.web Y: : y [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: springmvc-spring-hibernate:0.3 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.example.web [INFO] Parameter: artifactId, Value: myweb [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.example.web [INFO] Parameter: packageInPathFormat, Value: com/example/web [INFO] Parameter: package, Value: com.example.web [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: groupId, Value: com.example.web [INFO] Parameter: artifactId, Value: myweb [INFO] project created from Archetype in dir: /Users/example/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] ------------------------------------------------------------------------
次のプロジェクトフォルダーとファイルが生成されます。
図:EclipseIDEで生成されたプロジェクト構造。
Note
プロジェクトをEclipseにインポートするには、mvn eclipse:eclipse
と入力し、通常のプロジェクトとしてインポートします。
$ cd myweb $ pwd /Users/example/Documents/workspace/maven/template/myweb $ mvn eclipse:eclipse
3. より多くの例
使用するarchetypeArtifactId
がわかっている場合は、次のようなインタラクティブモードでコマンドをスキップしてください。
3.1 maven-archetype-quickstart(Javaプロジェクト)
$ mvn archetype:generate -DgroupId=com.example.core -DartifactId=ProjectName -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
この例を確認してください–How to create a Java project with Maven
3.2 maven-archetype-webapp(Java Webプロジェクト)
$ mvn archetype:generate -DgroupId=com.example.web -DartifactId=ProjectName -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false