tech.chakapoko.com
Home / Java / Maven

[Java][Maven]archetype:generateコマンドでMavenプロジェクトを作成する

archetype:generateコマンドを使うとMavenプロジェクトを手早く作れます。

今回はmaven-archetype-simpleというarchetypeを選択しました。その名の通りシンプルなMavenプロジェクトを作成するためのarchetypeです。

$ mvn archetype:generate \
    -DarchetypeGroupId=org.apache.maven.archetypes \
    -DarchetypeArtifactId=maven-archetype-simple \
    -DarchetypeVersion=1.4

コマンドを実行するとgroupIdなどの必要情報を聞かれるので入力します。

Define value for property 'groupId': com.example
Define value for property 'artifactId': Hello
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' com.example: :
Confirm properties configuration:
groupId: com.example
artifactId: Hello
version: 1.0-SNAPSHOT
package: com.example
 Y: :
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-simple:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: Hello
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: packageInPathFormat, Value: com/example
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: Hello
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Project created from Archetype in dir: /tmp/Hello
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:46 min
[INFO] Finished at: 2019-11-06T13:33:22+09:00
[INFO] ------------------------------------------------------------------------

プロジェクトの作成に成功するとカレントディレクトリの下に入力したartifactIdの名前でディレクトリが作られ、その下がMavenプロジェクトとなっています。

Hello
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── example
    │               └── App.java
    ├── site
    │   └── site.xml
    └── test
        └── java
            └── com
                └── example
                    └── AppTest.java

App.javaの中身を見ると、Hello World!を表示するプログラムになっています。

package com.example;

/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

コンパイル、実行をしてみます。Hello World!と表示されます。

$ cd Hello
$ mvn -q compile exec:java -Dexec.mainClass=com.example.App
Hello World!