はじめに

macOS に JDK のアップデートをするつもりで,新しい JDK をインストールすると古い JDK を残したままにすることがあります。

古い JDK を削除する方法を解説します。

まずは確認

そもそも古い JDK が存在しているのか,あるのならどれくらいあるのかを調べてみます。

次のコマンドで確認します。

$ /usr/libexec/java_home -V

すると次のような結果が表れます。

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.8.0_112, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
    1.8.0_102, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home
    1.8.0_92, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home

結果の最初の行にある Matching Java Virtual Machines (n):(n) の部分が (1) なら古い JDK はありません。括弧内の数字が 2 以上なら複数存在しています。

先の例では,4 つあることになります。

アンインストール

アンインストールは非常に簡単です。rm コマンドで消すだけです。削除するディレクトリーは, /Library/Java〜.jdk の部分を指定します。

例えば, JDK1.8.0_92 を消してみます。管理者権限でないと消せないので sudo を頭につけます。実行するとパスワードを要求されるので,自身がログインに使用するパスワードを入力しましょう。

$ sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk

確認してみます。

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

消えていますね。
不要な JDK があれば同じ手順で消していきましょう。

Eclipse をご利用の方へ

Eclipse が起動できなくなってしまった場合は, Eclipse.app/Contents/Eclipse/eclipse.ini ファイルの -vm の Java のパスを書き換えてください。

参考文献

“本当にそんなんでいいの?”という方のためにの参考文献も書いておきます。

本記事は Oracle 社の Java7 に関する記事を参考にしました。

http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

このページの下の方に有る以下の文章を参考にしています。リンク切れになったらわからなくなるのでコピペしておきます。

To run a different version of Java, either specify the full path, or use the java_home tool:

/usr/libexec/java_home -v 1.7.0_06 --exec javac -version

For more information, see the java_home(1) man page.

Uninstalling the JDK

To uninstall the JDK, you must have Administrator privileges and execute the remove command either as root or by using the sudo(8) tool.

Navigate to /Library/Java/JavaVirtualMachines and remove the directory whose name matches the following format:*

/Library/Java/JavaVirtualMachines/jdk<major>.<minor>.<macro[_update]>.jdk

For example, to uninstall 7u6:

% rm -rf jdk1.7.0_06.jdk

Do not attempt to uninstall Java by removing the Java tools from /usr/bin. This directory is part of the system software and any changes will be reset by Apple the next time you perform an update of the OS.

*The 7u4 and 7u5 releases were installed into a directory that does not follow this format. To uninstall 7u4 or 7u5, remove the 1.7.0.jdk directory from the same location.

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.