未分類

Java (JDK) のバージョンを下げる

JDKは新しければよいというわけではなく、旧バージョンでないと動作しないということが多々あります。
今回はバージョン10では動かず8を使うようにする必要があったのでそのときの手順です。
まずは

$ java -version

でバージョンを確認しましょう。
また、

$ /usr/libexec/java_home -V

でどのバージョンがインストールされているかを確認できます。
使いたいバージョンが入っていなければoracleの公式からインストールします。
バージョン8なら下記です。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
インストールしたら再度

$ /usr/libexec/java_home -V

で目的のバージョンがインストールできたかを確認しましょう。

さて、ではいよいよバージョンを切り替えます。
環境変数 "$JAVA_HOME" が実行されるJavaの正体です。
そして
$ /usr/libexec/java_home -v (バージョン指定)
で指定バージョンの実態へのパスを得られます。
したがって、たとえば

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
10.0.2, x86_64: "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_181, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

と表示される状態でバージョン8 (1.8 : Javaはバージョン8までは1.x表記でした) を利用したい場合は
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=${JAVA_HOME}:${PATH}
を~/.bash_profile に追記します。
$ vi ~/.bash_profile
で直接追記するか、
下記2行を実行することでも設定可能です。
$ echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)' >> ~/.bash_profile
$ echo 'export PATH=${JAVA_HOME}:${PATH}' >> ~/.bash_profile
これだけではまだbashに設定が反映されていないので、ターミナルを再起動するか

$ source ~/.bash_profile

を実行して.bash_profileの設定を反映させます。

$ java -version

を実行して
java version "1.8.0_181"
など目的のバージョンが表示されていればOKです。
もし設定を反映するコマンドを実行しても反映されていない場合はターミナルを再起動してみましょう。

-未分類