使用Homebrew在macOS上安装OpenJDK 11


(于2020年1月17日添加)Homebrew安装的OpenJDK 11(java11)是Oracle构建版本

不再受支持,因此使用诸如AdoptOpenJDK之类的构建版本似乎更好。
使用Homebrew --Qiita

在macOS上安装Java 11(OpenJDK:AdoptOpenJDK)

供参考,由Homebrew安装的最新版本的OpenJDK 11(java11)自2019年1月15日起。

1
2
3
4
$ /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 / master上的java11.rb·Homebrew / homebrew-cask-versions·GitHub

1
2
3
4
5
6
7
8
9
10
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,请参见下文。

安装自制软件

安装方法在这里→https://brew.sh/index_ja

引入了自制酒桶版本,可以安装旧版本

GitHub --Homebrew / homebrew-cask-versions:??木桶的替代版本

1
$ brew tap homebrew/cask-versions

安装OpenJDK 11

1
$ brew cask install java11

检查已安装目录

的位置

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

设置环境变量JAVA_HOME和PATH

根据需要在.bash_profile或.bashrc中进行描述。

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

检查已安装的OpenJDK

1
2
3
4
5
6
7
8
9
10
11
12
13
$ 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年1月25日,OpenJDK的最新版本为11,因此使用以下命令安装了版本11。当前的最新版本不是11,因此将安装较新的OpenJDK。

1
$ brew cask install java

homebrew-cask / java.rb,位于4f5fe409889d844c91b35c03f0ea37932b5a818b·Homebrew / homebrew-cask·如果您查看GitHub,您会看到当时已安装OpenJDK 11.0.2 9。

1
2
3
4
5
6
7
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。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ 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