あれ?java どこに入れたっけ
java 本体やコマンド なんてめったに使わないので、ついつい油断しますよね。
java_home という便利なコマンドが有る。
/usr/libexec/java_home
Debian にはコマンドが見当たらなかったのでたぶん、MacOS用だと思うのですが。調べてみたらXcodeに含まれるようですね。
java_homeの出力例
takuya@Desktop$ /usr/libexec/java_home -V Matching Java Virtual Machines (6): 1.8.0_131, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home 1.8.0_31, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home 1.8.0_25, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home 1.7.0_75, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home 1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
VisualStudio Codeや .bashrc で使える
VS Codeで java support を入れたときの java.home
設定や
.bashrc での JAVA_HOME
JDK_HOME
での設定に使える
バージョンごとの使い分けもできる。
rbenv や pyenv 的な使い方ができる。
takuya@Desktop$ /usr/libexec/java_home 1.7.0_75 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home takuya@Desktop$ /usr/libexec/java_home 1.6.0_65 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home takuya@Desktop$
バージョンごとの使い分けに出来るので、
setenv JAVA_HOME=$(/usr/libexec/java_home 1.6.0_65)
などとすれば、Javaのバージョンを切り分けて使えますね。