1. はじめに
STS(Spring Tool Suite)の環境構築をした際に、Mavenプロジェクトを作成しました。
その際に、Mavenについて調べた内容を記事にまとめます。
2. Mavenとは
Maven(メイヴン)とは、Javaプロジェクトのビルド、テスト、デプロイなどのプロジェクトライフサイクル管理ツールです。
2.1 プロジェクトの構造
一般的にsrc(ソースコード)とpom.xmlからなるディレクトリから構成される。
hello-world/
|-pom.xml
`-src/
|-main/java/
| `-com/example/
| `-App.java
`-test/java/
`-com/example/
`-AppTest.java
2.2 POM(Project Object Model)
Mavenプロジェクトは、プロジェクトの設定情報をXML形式で記述したPOMファイルを持ちます。POMはビルドの設定、依存関係、プラグインなどのプロジェクトに関する情報を定義します。
具体的には下記のような要素があります。
要素 | 意味 |
---|---|
modelVersion | POM のバージョン。 特に変更する必要はありません。 |
groupId | プロジェクトを一意に識別する名前。 プロジェクトのルートパッケージ名を指定するのが一般的です。 |
artifactId | プロジェクトの成果物の名前。 作成する JAR や WAR, EAR ファイルなどの名前に使用されます。 |
packaging | 作成する成果物のパッケージング・タイプ。 jar (デフォルト), war, ear などがあります。 |
version | プロジェクトのバージョン。 |
name | プロジェクトの表示名。 ドキュメントを作成するときなどに使用されます。 |
url | プロジェクトのサイトの URL。 ドキュメントを作成するときなどに使用されます。 |
dependencies | プロジェクトが依存するライブラリの情報。 |
pom.xmlには、ソースコードの場所や結果の出力先など情報はありません。これらの情報はapplication.properties等に追記します。
3. Mavenのコマンド
pom.xmlの設定に従い、コンパイルやテストがコマンド一つで実行可能になります。
3.1 コンパイル
mvn compile
プロジェクトをコンパイルするには上記コマンドを実行します。
src/main/java/
配下ソースのコンパイルが行われます。
3.2 テスト
mvn test
ユニットテストを実行するには上記コマンドを実行します
デフォルトでは、以下のパターンにマッチするファイルがテストとして実行されます。
**/Test*.java
**/*Test.java
**/*TestCase.java
3.3 公開
mvn deploy
作成した JAR ファイルをリモートリポジトリに配備するには、上記コマンドを実行します。
おわりに
Mavenについて調査した内容をこの記事ではまとめました。
Mavenの理解に役立てていただけら幸いです。
参考