macOSで古いJDKをアンインストール

# はじめに

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

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

# まずは確認

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

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

```bash
$ /usr/libexec/java_home -V
```

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

```text
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (6):
    12, x86_64:	"OpenJDK 12"	/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
    9, x86_64:	"Java SE 9"	/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
    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 以上なら複数存在しています。

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

# アンインストール

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

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

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

確認してみます。

```text
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
    12, x86_64:	"OpenJDK 12"	/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
    9, x86_64:	"Java SE 9"	/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
    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 のパスを書き換えてください。

注：これは macOS で Eclipse を使っている方向けですが， Windows でも Eclipse が起動できなくなったら eclipse.ini を確認してみてください。 

# 参考文献

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

本記事は 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.