[OS X] [Env] [Java] Maven

スポンサーリンク

Maven

環境

OS X Mountain Lion 10.8.2
Oracle Java SE 7u10

デフォルトでインストールされている Maven

OS X Mountain Lion の場合,デフォルトで Maven3 がインストールされているようです.

$ which mvn
/usr/bin/mvn

バージョンを確認してみます.

$ mvn -v
Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900)
Maven home: /usr/share/maven
Java version: 1.7.0_10, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.2", arch: "x86_64", family: "mac"

手動で最新の Maven をインストール

Maven3 を手動でインストールする場合,Maven – Download Apache Maven からダウンロードします.
2012-01-08 時点,最新のバージョンは 3.0.4 です.
Maven 3.0.4 (Binary tar.gz) をダウンロードします.

apache-maven-3.0.4-bin.tar がダウンロードされます.

Screen Shot 2013-01-08 at 3.22.48 AM

apache-maven-3.0.4-bin.tar を選択し,ダブルクリックすると apache-maven-3.0.4 フォルダが生成されます.

Screen Shot 2013-01-08 at 3.24.23 AM

以降はターミナルで作業を行います.

適当なパスに配置します.

$ sudo mv /path/to/apache-maven-3.0.4 /usr/local/
$ sudo ln -s /usr/local/apache-maven-3.0.4 /usr/local/maven3

パスの設定をしておきます.
~/.profile が存在しない場合は新規に作成します.

$ vi ~/.profile

下記のように追記します.

# Maven3
export M3_HOME=/usr/local/maven3
export PATH=$PATH:$M3_HOME/bin

設定を反映させます.

$ source ~/.profile

しかし,この方法だと,既に /usr/bin の下にある mvn が優先されます.

例えば,echo $PATH を実行してみると

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/local/maven3/bin

/etc/paths にパスの優先順が書かれています.

$ vi /etc/paths
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

そのため,例えば,/etc/paths の最上位に /usr/local/maven3/bin を記述するという手もあります.

/usrlocal/maven3/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

ターミナルを閉じた後,再度ターミナルを開いて mvn のパスを確認してみます.

$ which mvn

手動でインストールした Maven のパスが表示されます.

/usr/local/maven3/bin/mvn

mvn のバージョンを確認してみます.

$ mvn -v
Apache Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900)
Maven home: /usr/local/maven3
Java version: 1.6.0_37, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.8.2", arch: "x86_64", family: "mac"

Oracle Jave SE 7 と Apple Java SE 6 の両方をインストールしている場合,Apple Java SE 6 が使用されています.

.profile で JAVA_HOME を設定します.

Oracle Java SE 7u10 の場合,java は
/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
の下の bin/java となります.

$ vi ~/.profile

下記を追記します.

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
export PATH=$PATH:$M3_HOME/bin

設定を反映させます.

$ source ~/.profile

再度,mvn -v を実行してみます.

$ mvn -v

手動でインストールした Maven 3.0.4 で,かつ Oracle Java SE 7 が使用されるようになります.

Apache Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900)
Maven home: /usr/local/maven3
Java version: 1.7.0_10, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.2", arch: "x86_64", family: "mac"

なお,Apple Java SE 6 で JAVA_HOME を設定したい場合は,下記のように設定します.

export JAVA_HOME=/Library/Java/Home
export PATH=$PATH:$M3_HOME/bin

pom.xml

pom.xml 中に記載する Maven Dependency (depandecies の中の dependency) は下記のサイトで Search します.
http://mvnrepository.com/

pom.xml の定義は下記を参考にします.
http://www.limy.org/program/java/maven/project.html

EnvJavaMavenOS X
スポンサーリンク
コピペワールド