下载
因为通过oracle官网下载很慢,并且还得很麻烦的注册,所以我们可以选择国内镜像网站下载相应的资源。
这里推荐编程宝库里面对应的下载页面,有各种版本的镜像地址;
下载完成之后直接按照操作点击安装就行。
或者从openJDK的网站下载对应的安装包。
安装完成之后,在命令行中输入java -version,显示如下表示安装成功(以Java8为例子)
➜ java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)
配置多版本环境
我们重复上面的操作,安装多个版本Java环境(下面以Java8和Java11举例)。
首先,macOS的jdk安装目录为/Library/Java/JavaVirtualMachines,我们可以进入对应的目录查看jdk安装情况。可以看到我们已经安装好了两个版本的JDK环境。
➜ cd /Library/Java/JavaVirtualMachines
➜ ls
jdk1.8.0_341.jdk microsoft-11.jdk
或者,可以使用下列命令查看已经安装的Java环境:
➜ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
11.0.17 (arm64) "Microsoft Build of OpenJDK" - "Microsoft Build of OpenJDK 11" /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home
1.8.341.10 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_341 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home
其中,第二个和第三个是安装Java8同时安装的,第二个是JRE运行环境,第三个是我们开发人员使用的JDK环境;(小九九:可以看到我的Java8其实是x64架构的,但我是arm64的芯片,不过不影响它正常运行,应该是操作系统默认帮我们做好了转换)。
最后,我们怎么能快捷方便的切换各个Java版本呢?如下,我们在对应的shell配置文件(zsh为.zshrc文件,bash为.bashrc文件)中增加下面几行配置,再刷新下配置就行。(记得执行 source .zshrc刷新配置)
#java配置
JAVA_11_HOME=`/usr/libexec/java_home -v 11`
JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home"
# 默认JDK,如果你希望该版本为默认使用的JDK,
# 或你的系统中只有这一个JDK,请去掉下面一行的注释:
export JAVA_HOME=$JAVA_11_HOME
alias jdk11="export JAVA_HOME=$JAVA_11_HOME && echo current JDK has switched to openjdk version 11. && java -version"
alias jdk8="export JAVA_HOME=$JAVA_8_HOME && echo current JDK has switched to openjdk version 8. && java -version"
效果
➜ jdk8
current JDK has switched to openjdk version 8.
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)
➜ jdk11
current JDK has switched to openjdk version 11.
openjdk version "11.0.17" 2022-10-18 LTS
OpenJDK Runtime Environment Microsoft-6841889 (build 11.0.17+8-LTS)
OpenJDK 64-Bit Server VM Microsoft-6841889 (build 11.0.17+8-LTS, mixed mode)
可以😌看到在命令行中我们能够快捷的切换不同的jvm环境了。