追記 2018-10-16
書いた早々ですが、この記事いらなくなりそうです。先日発表されたAmazon Correttoが出たら!
現在プレビュー版が提供されているCorretto 8のダウンロードページを見ると、mac版がpkgファイルで提供されています! これは Corretta 11でもpkgの可能性大!インストーラがいろいろやってくれて最初から快適な可能性大! かもかもです。Corretto 11の提供は来年の4月まで十分なテストを行ってからとのことですので、それまで待てない人は試してください。
対象読者
- 古くはApple続いてOracleのJDKを使ってきた方
- jshellとか面倒なパス設定せずに使いたい方
快適ってのは
- JDKのツール群にパスが通ってる幸せ。
快適にする手順
OracleJDK 11のdmgパッケージで一旦インストールし、アンインストール後 OpenJDK 11を入れるだけ1。
今後12以降でツール類が増えるなら上がったバージョンで同じ手順を行うと良さげ。
1. dmg版のOracleJDKをダウンロードしてインストール
- Java SE Development Kit 11 Downloadsから、mac用で拡張子が.dmgのJDKをダウンロードする。
- dmgファイルをマウントして中にあるpkgファイルを実行してインストーラ画面で次へ次へ完了。
2. すぐにアンインストール
ここにあるとおりのことを実施する
2.1.以下をターミナルから実行
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java
2.2. JDKを削除2
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
3. OpenJDKをインストール
- おすすめの多いAdoptOpenJDKからOpenJDK 11をダウンロード。HotspotかOpenJ9の選択は好みで3。
- Finderからダブルクリックで展開
- ターミナルで、展開してできたフォルダ2をOracleJDKがあった場所に移動
sudo mv ~/Downloads/jdk-11.0.1+13 /Library/Java/JavaVirtualMachines/
- .bashrcとか.zshrcとかには、複数JDKがある場合java_homeは最新を返してくれるので以下のように修正。
export JAVA_HOME=$(/usr/libexec/java_home)
最初にいれたOracleJDKのpkgインストーラが/usr/bin/jshellなどのリンクを作ってくれるようなので、単純にOpenJDK入れるより良さげですよー。
ちなみにデスクトップの方はターミナルの設定にかかわらず自動的に最新のJDKが選ばれるようです。
ちょっと気になったのは、OracleJavaだとeclipse-201809入れたらInstalled JREに/Library/Java/JavaVirtualMachines/にある全バージョンが表示されていたんですが、OpenJDKに変えたらなぜか、jdk-9だけしか表示されなくなっちゃって手動で他を入れるしかありませんでした。
~/Library/Application\ Support/Oracle/Java 辺りに何か仕掛けがあったのかなーー。もう消したし知らんけど。