Tuesday 15 July 2014

Maven と JAVA_HOME

いや、gradle に移行してしまってはいるんですが、まだ、若干、maven base なのが残っていて。で、Java 1.8 な maven がなんか文句言ってる。なので、

EasyPackage の maven の version を上げる

わけですが、

JAVA_HOME を見つけられない

えええ? mvn の中を見ると、

if [[ -z "$JAVA_HOME" && -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ]] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
fi

if [[ -z "$JAVA_HOME" && -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ]] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi

if [[ -z "$JAVA_HOME" && -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ]] ; then
#
# Oracle JDKs
#
export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi

if [[ -z "$JAVA_HOME" && -x /usr/libexec/java_home ]] ; then
#
# Apple JDKs
#
export JAVA_HOME=$(/usr/libexec/java_home)
fi

苦労してますね。いや、他人事じゃないし。どうも、Oracle の jdk をinstallしても、ちゃんと設定されるわけでもないらしい。

% ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 32
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.4@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.4.2@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.5@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.5.0@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.6@ -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Oct 23 2013 1.6.0@ -> CurrentJDK
drwxr-xr-x 7 root wheel 238 Oct 23 2013 A/
lrwxr-xr-x 1 root wheel 1 Oct 23 2013 Current@ -> A
lrwxr-xr-x 1 root wheel 58 Jul 14 20:04 CurrentJDK@ -> /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents

で、A って何? Oct 2013 ってなんだよ。

CurrentJDK が obsolete ならしいんですが、これを手動で設定すると動くらしい。のだが、こんどは、

M2_HOME

が変とか言ってくる。しばらく悩んだんですが、

.zshrc で M2_HOME 設定しているアホが

どうも、良くわからないところが入れたらしく、自分のhomeにlocalに入れる(そういうことしかできないサーバもある) 方式だったらしい。それを削除して動きました。

でも、なんか新しい jdk が...

No comments: