mavenはmvnコマンドを使い、管理するプロジェクトのひな形を作る事ができる。
JARやWAR(WEBアプリケーション)等に対応した構造にする事が可能なようだが、とりあえず今回は簡単なJavaプロジェクトの作成手順。
コマンド実行時にプロジェクトの名前や階層を指定する。
今回は以下の構造でプロジェクトを作るものとする。
・プロジェクト名:test-maven
・ファイル構造:test-maven/src/java/main/prog/maven/App.java
(プログラム配置場所)
プロジェクトを作りたいフォルダに移動し、以下のコマンドを実行する。
mvn archetype:generate
※以降、対話形式で(1)~(6)の値を指定していく
No | 項目 | 内容 | 備考 |
(1) | アーキタイプ | プロジェクトの種別 | |
(2) | アーキタイプのバージョン | アーキタイプのバージョン | |
(3) | groupId | 社内で識別する名前 | 一般的にルートパッケージを指定 |
(4) | artifactId | プロジェクトを識別する名前 | 一般的にJARやWAR等で用いる名称 |
(5) | version | プロジェクトのバージョン | |
(6) | package | プロジェクトのパッケージ構成 |
(1)アーキタイプの選択
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains):674:
→デフォルト(何も入力せずEnter押下)
※デフォルトの番号はMavenのバージョンにより変わるので、注意
(例.Maven-3.0.5では657/Maven-3.3.3では674)
(2)アーキタイプのバージョン
Choose a number: 6:
→デフォルト(何も入力せずEnter押下)
※デフォルトは安定バージョン
(3)プロジェクトコーディネート(groupId)
Define value for property 'groupId': :main.prog.maven
→ルートパッケージを使うのが一般的らしい
なので今回はプログラム配置場所のパッケージである「main.prog.maven」とする
(4)プロジェクトコーディネート(artifactId)
Define value for property 'artifactId': :test-maven
→プロジェクト名(JARやWARの名称)が一般的らしい
なので今回は「test-maven」とする
(5)プロジェクトコーディネート(version)
Define value for property 'version': 1.0-SNAPSHOT: :
→プロジェクトのバージョン指定
まだよく理解してないので、デフォルトで進める
(6)プロジェクトコーディネート(package)
Define value for property 'package': main.prog.maven: :
→プログラムの配置されているパッケージ情報?とりあえずgroupIdの値がデフォルトになるのでそのまま
・最後に確認画面が出るので、Enterキー押下
※注意点 パッケージの「java」は勝手に作られる
→packageを「main.prog.maven」としたが、プログラム配置場所は「test-maven/src/java/main/prog/maven/App.java」
※注意点 以下が自動作成される
・プログラム「test-maven/src/java/main/prog/maven/App.java」
・テストプログラム「test-maven/src/test/java/main/prog/maven/AppTest.java」
・pom.xml:「test-maven/pom.xml」
新規プロジェクト作成の「mvn archetype:generate」実行時に引数として対話設定項目を指定することができる。
引数は「-D項目名=値」。
(例.artifactIdをMyAppとする場合、引数は「-DartifactId=MyApp」)