Maven Wrapperを使ってプロジェクトで使うMavenのバージョンを指定する
Javaでの開発において、ライブラリのバージョン管理にMavenを用いているところはたくさんあると思います。
しかし、pom.xmlを使って各ライブラリのバージョンを管理していても、各開発者が使うMavenのバージョンを固定することはできません。
プロジェクトで使うMavenのバージョンを固定したい!そんな場合に使えるのがMaven Wrapperです。
- takari/maven-wrapper - https://github.com/takari/maven-wrapper
導入方法
導入方法は至って簡単。
maven wrapperを適用したいプロジェクトに移動して、以下のコマンドを発行するだけ。
mvn -N io.takari:maven:wrapper
これだけで、プロジェクトに以下のファイルが追加されます。
- mvnw - Maven Wrapper経由でmavenを実行するためのファイル
- mvnw.cmd - mvnwのWindows版。Windowsで使う場合はこっちを使いましょう。
- .mvnディレクトリ - maven wraperがダウンロードしてきたMavenのバイナリとかが入ってる
上記のコマンドだと実行時の最新のバージョンが使用されるので、バージョンを指定したい場合はオプションで
mvn -N io.takari:maven:wrapper -Dmaven=3.3.1
としてやりましょう。以降は今まで
mvn clean
mvn package
としていたのをmvnwコマンドに置き換えるだけで
./mvnw clean
./mvnw package
固定されたバージョンをMavenを利用することができます。
.gitignoreの設定
~~ Gitなどのバージョン管理にはmvnwとmvnw.cmdのみコミット対象とし、.mvnディレクトリはコミット対象外にしましょう。 ~~
はい、これウソでしたorz
正しくは「.mvnディレクトリもコミットしましょう」です。
YOSHIDAさん慣れないジャバやるから
— やっぱりおいしい木村屋のパン (@razon) 2016年5月24日
はい、その通りですね(真顔