LoginSignup
0
2

More than 5 years have passed since last update.

JDK 11をmacに快適な形で入れる方法

Last updated at Posted at 2018-11-15

追記 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 辺りに何か仕掛けがあったのかなーー。もう消したし知らんけど。


  1. 本音を言えば 「OracleJDK並みに自動設定してくれるOpenJDKのパッケージインストーラ用意してくれよーっ」 ってことだけど… 

  2. バージョンが上がっていたら適宜読み替えて実施してください。 

  3. OracleJDKとの乖離が少ないかなーと想像してHotspotを選択したけど、eclipse使うとかならOpenJ9の方がいいかも。知らんけど。 

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2