Edited at

Maven2とMaven3の切り替え

More than 3 years have passed since last update.

ライブラリ管理に使っているmavenのバージョンがアプリごとに異なる場合のMac上での切り替え方法です。


前提


  • Mac

  • mavenのパッケージ管理をHomebrewで行っている

  • maven3(またはmaven2)だけがインストール済で、後から追加したい


やり方


maven2を追加する

※ maven2とmaven31を読み替えても基本的には同じ

maven3のシンボリックリンクを無効にする。

brew unlink maven31

maven2をインストールする。

brew install maven2

確認。

$ mvn -v

Apache Maven 2.2.1 (r801777; 2009-08-07 04:16:01+0900)
Java version: 1.8.0_20
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x" version: "10.9.5" arch: "x86_64" Family: "mac"


mavenのバージョンを切り替える

Homebrewで異なるバージョンのMavenをインストール済みであること。

maven2 => maven3 に切り替える。(逆も同じ)

brew unlink maven2

brew link maven3

確認。

$ mvn -v

Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-18 00:22:22+0900)
Maven home: /usr/local/Cellar/maven31/3.1.1/libexec
Java version: 1.8.0_20, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"


注意点

brew doctor したときに以下の警告が出ます。そりゃそうだ。


Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:

maven2

以上。