Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
31
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

OpenJDK 11 を Homebrew で macOS にインストールする

(2020年1月17日追記) Homebrew でインストールされる OpenJDK 11 (java11) は Oracle ビルド版

もうサポートされていないので AdoptOpenJDK 等のビルド版を使用したほうが良いと思われる。
Java 11 (OpenJDK: AdoptOpenJDK) を Homebrew で macOS にインストールする - Qiita

参考までに、 Homebrew でインストールされる OpenJDK 11 (java11) の最新バージョンは2019年1月15日のもの。

$ /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/bin/java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

homebrew-cask-versions/java11.rb at master · Homebrew/homebrew-cask-versions · GitHub

cask 'java11' do
  version '11.0.2,9'
  sha256 'f365750d4be6111be8a62feda24e265d97536712bc51783162982b8ad96a70ee'

  url "https://download.oracle.com/java/GA/jdk#{version.major}/#{version.after_comma}/GPL/openjdk-#{version.before_comma}_osx-x64_bin.tar.gz"
  name 'OpenJDK Java Development Kit'
  homepage 'https://www.oracle.com/technetwork/java/javase/'

  artifact "jdk-#{version.before_comma}.jdk", target: "/Library/Java/JavaVirtualMachines/openjdk-#{version.before_comma}.jdk"
end

↓ それでも Homebrew で OpenJDK 11 をインストールするには以下を参照。

Homebrew をインストール

インストール方法はこのへん → https://brew.sh/index_ja

古いバージョンをインストールできる homebrew-cask-versions を導入

GitHub - Homebrew/homebrew-cask-versions: 🔢 Alternate versions of Casks

$ brew tap homebrew/cask-versions

OpenJDK 11 をインストール

$ brew cask install java11

インストールされたディレクトリの場所を確認

$ /usr/libexec/java_home -v 11
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home

環境変数 JAVA_HOME と PATH を設定

必要に応じて .bash_profile や .bashrc などに記述する。

export JAVA_HOME=`/usr/libexec/java_home -v 11`
PATH=${JAVA_HOME}/bin:${PATH}

インストールされた OpenJDK を確認

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

$ javac -version
javac 11.0.2

$ which java
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/bin/java

$ which javac
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/bin/javac

参考: OpenJDK 11 が最新版だったときの記録

2019年01月25日の時点では OpenJDK の最新バージョンが11だったので、以下のコマンドでバージョン11がインストールされていた。現在の最新バージョンは11ではないので、もっと新しい OpenJDK がインストールされる。

$ brew cask install java

homebrew-cask/java.rb at 4f5fe409889d844c91b35c03f0ea37932b5a818b · Homebrew/homebrew-cask · GitHub を見ると、その時点でインストールされるのが OpenJDK 11.0.2+9 だったとわかる。

cask 'java' do
  version '11.0.2,9'
  sha256 'f365750d4be6111be8a62feda24e265d97536712bc51783162982b8ad96a70ee'

  url "https://download.java.net/java/GA/jdk#{version.major}/#{version.after_comma}/GPL/openjdk-#{version.before_comma}_osx-x64_bin.tar.gz"
  name 'OpenJDK'
  homepage 'https://jdk.java.net/'

インストールされた OpenJDK を確認。

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

$ javac -version
javac 11.0.2

$ which java
/usr/bin/java

$ which javac
/usr/bin/javac

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    11.0.2, x86_64: "OpenJDK 11.0.2"    /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home

$ ls -l /usr/bin/java*
lrwxr-xr-x  1 root  wheel  74 10 16 18:48 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
lrwxr-xr-x  1 root  wheel  75 10 16 18:48 /usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
lrwxr-xr-x  1 root  wheel  77 10 16 18:48 /usr/bin/javadoc -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javadoc
lrwxr-xr-x  1 root  wheel  75 10 16 18:48 /usr/bin/javah -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javah
lrwxr-xr-x  1 root  wheel  75 10 16 18:48 /usr/bin/javap -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javap
lrwxr-xr-x  1 root  wheel  82 10 16 18:48 /usr/bin/javapackager -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javapackager
lrwxr-xr-x  1 root  wheel  76 10 16 18:48 /usr/bin/javaws -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
31
Help us understand the problem. What are the problem?