Maven Wrapperのクイックガイド
1. 概要
Maven Wrapperは、特定のバージョンのMavenを必要とするプロジェクト(またはMavenをまったくインストールしたくないユーザー)に最適です。 Instead of installing many versions of it in the operating system, we can just use the project-specific wrapper script.
この簡単な記事では、既存のMavenプロジェクト用にMavenラッパーをセットアップする方法を示します。
2. Mavenラッパーのセットアップ
プロジェクトで構成するには2つの方法があります。最も簡単な方法は、適切なプラグインを使用して自動化するか、手動インストールを適用することです。
2.1. プラグイン
このMaven Wrapper pluginを使用して、単純なSpringBootプロジェクトに自動インストールを作成しましょう。
まず、プロジェクトのメインフォルダーに移動して、次のコマンドを実行する必要があります。
mvn -N io.takari:maven:wrapper
Mavenのバージョンも指定できます。
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
オプション-Nは–non-recursiveを意味するため、ラッパーは現在のディレクトリのメインプロジェクトにのみ適用され、サブモジュールには適用されません。
目標を実行すると、プロジェクトにさらに多くのファイルとディレクトリが作成されます。
-
mvnw:完全にインストールされたMavenの代わりに使用される実行可能なUnixシェルスクリプトです
-
mvnw.cmd:上記のスクリプトのバッチバージョンです
-
mvn:Maven WrapperJavaライブラリとそのプロパティファイルを保持する隠しフォルダ
2.2. マニュアル
手動のアプローチでは、上記のファイルとフォルダーを別のプロジェクトから現在のプロジェクトのメインフォルダーにコピーできます。
その後、.mvn/wrapper/maven-wrapper.propertiesファイルにあるラッパープロパティファイルで使用するMavenのバージョンを指定する必要があります。
たとえば、プロパティファイルには次の行があります。
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
その結果、バージョン3.5.2がダウンロードされて使用されます。
3. ユースケース
ラッパーは、次のような異なるオペレーティングシステムで動作するはずです。
-
Linux
-
OSX
-
Windows
-
Solaris
その後、Unixシステムに対して次のような目標を実行できます。
./mvnw clean install
そして、バッチ用の次のコマンド:
./mvnw.cmd clean install
ラッパーのプロパティに指定されたMavenがない場合は、ダウンロードされ、システムのフォルダー$USER_HOME/.m2/wrapper/distsにインストールされます。
Spring-Bootプロジェクトを実行してみましょう。
./mvnw spring-boot:run
出力は、完全にインストールされたMavenの場合と同じです。
注:現在Mavenコマンドラインプログラムとして機能しているmvn,の代わりに実行可能ファイルmvnwを使用します。
4. 結論
このチュートリアルでは、MavenプロジェクトでMavenラッパーを設定して使用する方法を説明しました。
いつものように、この記事のソースコードはover on GitHubにあります。