zephiransasのチラシの裏

とあるJava/Rubyプログラマのメモ代わりブログ

Maven Wrapperを使ってプロジェクトで使うMavenのバージョンを指定する

Javaでの開発において、ライブラリのバージョン管理にMavenを用いているところはたくさんあると思います。

しかし、pom.xmlを使って各ライブラリのバージョンを管理していても、各開発者が使うMavenのバージョンを固定することはできません。

プロジェクトで使うMavenのバージョンを固定したい!そんな場合に使えるのがMaven Wrapperです。

導入方法

導入方法は至って簡単。

maven wrapperを適用したいプロジェクトに移動して、以下のコマンドを発行するだけ。

1
mvn -N io.takari:maven:wrapper

これだけで、プロジェクトに以下のファイルが追加されます。

  • mvnw - Maven Wrapper経由でmavenを実行するためのファイル
  • mvnw.cmd - mvnwのWindows版。Windowsで使う場合はこっちを使いましょう。
  • .mvnディレクトリ - maven wraperがダウンロードしてきたMavenのバイナリとかが入ってる

上記のコマンドだと実行時の最新のバージョンが使用されるので、バージョンを指定したい場合はオプションで

1
mvn -N io.takari:maven:wrapper -Dmaven=3.3.1

としてやりましょう。以降は今まで

1
2
mvn clean
mvn package

としていたのをmvnwコマンドに置き換えるだけで

1
2
./mvnw clean
./mvnw package

固定されたバージョンをMavenを利用することができます。

.gitignoreの設定

~~ Gitなどのバージョン管理にはmvnwとmvnw.cmdのみコミット対象とし、.mvnディレクトリはコミット対象外にしましょう。 ~~

はい、これウソでしたorz

正しくは「.mvnディレクトリもコミットしましょう」です。

はい、その通りですね(真顔