2021/09/24 Updated by
2020/04/23 Updated by
2020/04/26 Updated by
[Up] Japanese English

Java

OpenJDK を MacOS にインストールする


  1. https://jdk.java.net/ からMacOS用のバイナリをダウンロードする。 LTS (Long Term Support) 版のうち最もバージョンが高いものを選択するとよい。 2021年9月時点では JDK 17 のインストールを勧める。
  2. jdk17

    [注意]以下の例は jdk14.0.1をインストールしたときのものです。 JDK17をインストールする場合は、バージョンを全て 14.0.1から17に読み替えて下さい。





  3. ダウンロードしたバイナリを展開する。
  4. ターミナル上で: tar.gzファイルを解凍・展開する
    $ tar zvxf openjdk-14.0.1_osx-x64_bin.tar.gz    
    x ./
    x ./jdk-14.0.1.jdk/
    x ./jdk-14.0.1.jdk/Contents/
    x ./jdk-14.0.1.jdk/Contents/CodeResources
    
    ...(略)...
    
    x ./jdk-14.0.1.jdk/Contents/Home/bin/jimage
    x ./jdk-14.0.1.jdk/Contents/_CodeSignature/CodeResources
    
  5. 置くべきフォルダを確認する
  6. ターミナル上で: フォルダを確認する
    $ ls -l /Library/Java  
    total 0
    drwxr-xr-x  2 root  wheel   64  7 16  2017 Extensions
    drwxr-xr-x  4 root  wheel  128  4 23 16:56 JavaVirtualMachines
    
    $ ls -l /Library/Java/JavaVirtualMachines  
    total 0
    drwxr-xr-x  3 root   wheel  96 12 29  2013 jdk1.7.0_45.jdk
    
  7. OpenJDK 14 のフォルダを移動する(root権限が必要)。
  8. ターミナル上で: root権限でmvする
    $ sudo mv jdk-14.0.1.jdk /Library/Java/JavaVirtualMachines/  
    Password:rootのパスワード      ←タイプした文字は表示されない
    

    [注意](2020/09/11 追記)Macでは、rootのパスワードは「最初のユーザ」のパスワードと同じになる。 したがって、もしもrootのパスワードを特に変更していなければ、自分のパスワードを入力すること。

  9. 配置した OpenJDK 14 がシステムから見えていることを確認する。
  10. "OpenJDK 14.0.1" が表示されていることを確認する。
    javaのバージョン一覧
    $ /usr/libexec/java_home -V  
    Matching Java Virtual Machines (2):
        14.0.1, x86_64:   "OpenJDK 14.0.1"	/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
        1.7.0_45, x86_64: "Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
    
    /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
    
    $ /usr/libexec/java_home -v 14  
    /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
    
  11. java バージョン14 を使うように環境変数を設定する。
  12. ターミナル上で`   バッククォートで囲まれた文字列はシェル・コマンドとして実行されて、結果の文字列と入れ換わる。すなわち、java_home コマンドを実行した結果が環境変数 JAVA_HOME に設定される。
    環境変数JAVA_HOMEの設定
    $ export JAVA_HOME=`/usr/libexec/java_home -v 14`  
    
    $ echo $JAVA_HOME  
    /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
    
  13. java の バージョン14 が動いていることを確認する。
  14. 環境変数JAVA_HOMEの設定
    $ java -version  
    openjdk version "14.0.1" 2020-04-14
    OpenJDK Runtime Environment (build 14.0.1+7)
    
    $ javac -version  
    javac 14.0.1
    
  15. シェルを起動する度に環境変数 JAVA_HOME が設定されるように ~/.bash_profile を変更する。 もしもログインシェルとしてzsh を使っている場合は ~/.zshenv に同じ内容を追加する。(2020/05/01追記)
  16. ~/.bash_profile または ~/.zshenv の先頭に次の行を追加する
    export JAVA_HOME=`/usr/libexec/java_home -v 14`
    

    [注意事項とお詫び] 2020/4/23-2020/4/26まで上の表題が 「~/.bashrc_profile の先頭に次の行を追加する」 と間違って記載されていました。正しくは本文中の通り ~/.bash_profile です。お詫びして訂正します。

    ちなみに '~' (ティルダ, tilde)という文字は Shell では「ユーザのホーム・ディレクトリ」すなわちMacでは "/Users/ユーザ名" を表しますので上記 path は私の場合は /Users/nitta/.bash_profile を意味します。

    [注意事項](2020/05/01 追記) macOS Catalina (version 10.15) から標準のShellが bash から zsh に変更になりました。 もしも zsh を使っている場合は ~/.bash_profile ではなく ~/.zshenv に上記の記述をして下さい。 ちなみに zsh はログインシェルの場合次の順番でファイルをチェックします。

    ~/.zshenv
    ~/.zprofile
    ~/.zshrc
    ~/.zlogin