🕌
mvnwとmvnの違い
最近デプロイ周りをいじってるときに両方つかう機会があって調べたのでまとめ
忙しい人向け
基本的にどっちでもいい
ただレガシーなシステムと新しいシステムが混ざるシステムはmvnwを使ったほうがいい
mvnとは
javaの依存関係管理ツール
javaの依存関係管理ツールはgradleとmavenに2択になってる
mvnwとは
mavenのラッパー
mavenは割と枯れたツールではあるが、バージョンアップがないわけではないので、プロジェクトごとにmavenのバージョンを変更したりするために作られたツール
mvnとmvnwの違い
先程も書いたが環境に依存せずにmvnを使うためにmvnw作られたので、mvnが内包されており、基本的には一緒
mvnwにはmvnのバージョン指定したりするためにいくつかオプションが追加されている
使い分け
mvnは頻繁に更新があるわけではないの基本的にはどっちを使っても問題はないと思います
ただ、レガシーなシステムと新しいシステムが交じるようなシステムを作る場合は利用したほうがよいと思います
mvnには2系と3系でいくつか破壊的な変更があって2系ではbuildできるけど、3系だとbuildできないというケースがあるので、その差分をうまく吸収するためにmvnwを使うとよいかと思います
Discussion