Maven-project-templates
Maven-プロジェクトテンプレート
Mavenは、 Archetype の概念を使用して、さまざまな種類のプロジェクトテンプレート(数字で614)の非常に大きなリストをユーザーに提供します。 Mavenは、ユーザーが次のコマンドを使用して新しいJavaプロジェクトをすばやく開始できるようにします。
mvn archetype:generate
アーキタイプとは何ですか?
ArchetypeはMavenプラグインで、そのタスクはテンプレートに従ってプロジェクト構造を作成することです。 ここでは、クイックスタートアーキタイププラグインを使用して、簡単なJavaアプリケーションを作成します。
プロジェクトテンプレートの使用
コマンドコンソールを開き、 C:\> MVN ディレクトリに移動して、次の mvn コマンドを実行します。
C:\MVN>mvn archetype:generate
Mavenは処理を開始し、必要なアーキタイプの選択を求めます。
[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
...
600: remote −> org.trailsframework:trails-archetype (-)
601: remote −> org.trailsframework:trails-secure-archetype (-)
602: remote −> org.tynamo:tynamo-archetype (-)
603: remote −> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote −> org.wicketstuff.scala:wicketstuff-scala-archetype
Basic setup for a project that combines Scala and Wicket,
depending on the Wicket-Scala project.
Includes an example Specs test.)
605: remote −> org.wikbook:wikbook.archetype (-)
606: remote −> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-)
607: remote −> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-)
608: remote −> org.xwiki.commons:xwiki-commons-component-archetype
(Make it easy to create a maven project for creating XWiki Components.)
609: remote −> org.xwiki.rendering:xwiki-rendering-archetype-macro
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote −> org.zkoss:zk-archetype-component (The ZK Component archetype)
611: remote −> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype)
612: remote −> ru.circumflex:circumflex-archetype (-)
613: remote −> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote −> sk.seges.sesam:sesam-annotation-archetype (-)
Choose a number or apply filter
(format: [groupId:]artifactId, case sensitive contains): 203:
Enterキーを押してデフォルトオプション(203:maven-archetype-quickstart)を選択します
Mavenはアーキタイプの特定のバージョンを要求します。
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
Enterキーを押してデフォルトのオプションを選択します(6:maven-archetype-quickstart:1.1)
Mavenはプロジェクトの詳細を尋ねます。 質問に従ってプロジェクトの詳細を入力します。 デフォルト値が提供されている場合は、Enterを押します。 独自の値を入力して、それらをオーバーライドできます。
Define value for property 'groupId': : com.companyname.insurance
Define value for property 'artifactId': : health
Define value for property 'version': 1.0-SNAPSHOT:
Define value for property 'package': com.companyname.insurance:
Mavenはプロジェクトの詳細の確認を求めます。 EnterキーまたはYキーを押します。
Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:
今Mavenはプロジェクト構造の作成を開始し、次を表示します-
[INFO]-----------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO]-----------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.insurance
[INFO] Parameter: packageName, Value: com.companyname.insurance
[INFO] Parameter: package, Value: com.companyname.insurance
[INFO] Parameter: artifactId, Value: health
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\health
[INFO]-----------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]-----------------------------------------------
[INFO] Total time: 4 minutes 12 seconds
[INFO] Finished at: Fri Jul 13 11:10:12 IST 2012
[INFO] Final Memory: 20M/90M
[INFO]-----------------------------------------------
作成したプロジェクト
次に、 C:\> MVN ディレクトリに移動します。 プロジェクトの作成時に artifactId として指定された health という名前のJavaアプリケーションプロジェクトが作成されます。 Mavenは、以下に示すようにプロジェクトの標準ディレクトリレイアウトを作成します-
作成されたPOM.xml
Mavenは、以下にリストされているプロジェクトのPOM.xmlファイルを生成します-
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.insurance</groupId>
<artifactId>health</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>health</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
App.javaを作成しました
Mavenは、以下にリストされているプロジェクトのサンプルjavaソースファイルApp.javaを生成します-
場所: C:\> MVN> health> src> main> java> com> companyname> Insurance> App.java 。
package com.companyname.insurance;
/**
*Hello world!
*
*/
public class App {
public static void main( String[] args ) {
System.out.println( "Hello World!" );
}
}
AppTest.javaを作成しました
Mavenは、以下にリストされているプロジェクトのサンプルJavaソーステストファイルAppTest.javaを生成します-
場所: C:\> MVN> health> src> test> java> com> companyname> Insurance> AppTest.java 。
package com.companyname.insurance;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest extends TestCase {
/**
*Create the test case
*
*@param testName name of the test case
*/
public AppTest( String testName ) {
super( testName );
}
/**
*@return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite( AppTest.class );
}
/**
*Rigourous Test :-)
*/
public void testApp() {
assertTrue( true );
}
}
これで、Mavenのパワーを確認できます。 Mavenで単一のコマンドを使用してあらゆる種類のプロジェクトを作成し、開発を開始できます。
異なるアーキタイプ
Sr.No. | Archetype ArtifactIds & Description |
---|---|
1 |
maven-archetype-archetype サンプルアーキタイプを含むアーキタイプ。 |
2 |
maven-archetype-j2ee-simple 簡略化されたサンプルJ2EEアプリケーションを含むアーキタイプ。 |
3 |
maven-archetype-mojo サンプルMavenプラグインのサンプルを含むアーキタイプ。 |
4 |
maven-archetype-plugin サンプルMavenプラグインを含むアーキタイプ。 |
5 |
maven-archetype-plugin-site サンプルMavenプラグインサイトを含むアーキタイプ。 |
6 |
maven-archetype-portlet サンプルJSR-268ポートレットを含むアーキタイプ。 |
7 |
maven-archetype-quickstart サンプルMavenプロジェクトを含むアーキタイプ。 |
8 |
maven-archetype-simple 単純なMavenプロジェクトを含むアーキタイプ。 |
9 |
maven-archetype-site APT、XDoc、FMLなどのサポートされているドキュメントタイプの一部を示し、サイトを国際化する方法を示すサンプルMavenサイトを含むアーキタイプ。 |
10 |
maven-archetype-site-simple サンプルMavenサイトを含むアーキタイプ。 |
11 |
maven-archetype-webapp サンプルMaven Webappプロジェクトを含むアーキタイプ。 |