mac安装多个版本的java环境


一、背景

在验证xxl-job hessian反序列化漏洞的过程中,由于java版本过高导致诸多不便,所以试图在mac上安装多个java环境并能在适当的时候进行切换。

在macOS系统中,JDK通常安装在/Library/Java/JavaVirtualMachines/目录下。目前我的系统上有如下的jdk

二、下载安装

但是甲骨文官网实在太卡。从华为的仓库下载:https://repo.huaweicloud.com/java/jdk/

我这里下载的是这个版本:https://repo.huaweicloud.com/java/jdk/8u202-b08/

8u202是JDK 8的最后一个免费版本,之后从8u211开始收费。

发生报错:

F1:失败

打开终端,输入:
sudo spctl --master-disable
然后输入锁屏密码。
然后在【系统偏好设置】-【安全性与隐私】-【通用】-【允许从以下位置下载的应用】中选择「任何来源」,然后再安装。

但是并没有解决问题。

F2:失败

【系统偏好设置】-【安全性与隐私】

F3:更换成jdk8-u181

https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-macosx-x64.dmg

安装成功。

三、配置环境变量

Mac下通过bash_profile文件来对环境信息进行配置。

执行以下命令打开配置文件:vim ~/.bash_profile,新增下面的内容。

# Java config
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home"
export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home"
export JAVA_16_HOME="/Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home"

# config alias
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk16="export JAVA_HOME=$JAVA_16_HOME"

# config default jdk
export JAVA_HOME=$JAVA_8_HOME

修改保存上述配置,对bash_profile进行编译生效:

source ~/.bash_profile

可以进行版本切换了:

(base)  /Library/Java/JavaVirtualMachines  java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
(base)  /Library/Java/JavaVirtualMachines  jdk11
(base)  /Library/Java/JavaVirtualMachines  java -version
java version "11.0.12" 2021-07-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.12+8-LTS-237)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mixed mode)
(base)  /Library/Java/JavaVirtualMachines  jdk16
(base)  /Library/Java/JavaVirtualMachines  java -version
java version "16.0.2" 2021-07-20
Java(TM) SE Runtime Environment (build 16.0.2+7-67)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)

四、IDEA中配置JDK

在应用中配置JRE路径即可。


文章作者: 司晓凯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 司晓凯 !
  目录