mac下多版本java JDK的安装与切换

0 问题

之前macOS系统一直使用的时jdk10的环境,最近因为项目的原因需要换成jdk8。网上通用的办法都是通过修改bash_profile文件中修改jdk的环境变量,尝试了很多次,在我的mac上依然无法生效,最终通过修改mac系统的profile配置文件解决,下面是具体的解决步骤,给遇到类似问题的小伙伴们参考。

1 JDK的安装

JDK的安装步骤比较简单,直接在oracle官网选择对应的版本下载即可。

oracle jdk官网下载地址

以JDK8为例:

  1. 选择的JDK8进入下载页面
    mac下多版本java JDK的安装与切换_第1张图片
  2. 选择对应的版本(Mac OS X x64)进行下载
    mac下多版本java JDK的安装与切换_第2张图片
  3. 下载完成之后双击安装即可,安装过程中选用默认的配置即可,不用作其它的修改。
  4. 多版本JDK的安装类似,选择不同的版本,重复1~3步骤即可。
  5. 安装完成后,进入终端,输入命令:cd /Library/Java/JavaVirtualMachines/进入Java虚拟机的目录,再输入ls查看macOS系统已安装的JDK版本
    如图:我的mac上安装了JDK10和JDK8两个版本
    mac下多版本java JDK的安装与切换_第3张图片

2 JDK版本的切换

我没有采用在bash_profile文件修改jdk环境变量的方法,因为该方法在我的mac上无法生效,我选择的是直接修改macOS系统的profile配置文件,因为该文件的生效等级高于bash_profile文件。

具体步骤:

  1. 快捷键command+shitft+G选择进入文件夹:/etc/profile
    mac下多版本java JDK的安装与切换_第4张图片

  2. 在profile文件中添加如下内容

    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME
    export CLASS_PATH
    export PATH
    
    # JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
    # CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    # PATH=$JAVA_HOME/bin:$PATH
    # export JAVA_HOME
    # export CLASS_PATH
    # export PATH
    

    保存时系统会提示无法修改,因为我们没有修改profile文件的权限,解决办法如下:
    –>右键profile文件–>显示简介–>解锁–>设置当前用户权限为读与写
    mac下多版本java JDK的安装与切换_第5张图片
    mac下多版本java JDK的安装与切换_第6张图片
    此时可能仍然无法修改,将该文件移到桌面上修改即可,修改完成之后移回/etc文件夹,如果担心修改出错的话,可以事先拷贝一个副本以免翻车。
    ps:profile文件中的JAVA_HOME路径要根据jdk的文件目录进行修改(按下图对应颜色位置修改即可)
    mac下多版本java JDK的安装与切换_第7张图片
    mac下多版本java JDK的安装与切换_第8张图片

  3. 切换方法
    profile文件中上半部分为JDK8的配置,下半部分内容为JDK10的配置(已注释)。进入终端输入source /etc/profile使配置文件生效,再输入 java -version查询当前jdk版本,显示当前jdk版本为1.8。
    mac下多版本java JDK的安装与切换_第9张图片

    切换到jdk10:修改profile配置文件,将JDK1.8的配置注释,将JDK10的注释放开,如下图
    mac下多版本java JDK的安装与切换_第10张图片
    同样:进入终端输入source /etc/profile使配置文件生效,再输入 java -version查询当前jdk版本,显示当前jdk版本为10。
    mac下多版本java JDK的安装与切换_第11张图片

    至此,大功告成!!!

你可能感兴趣的:(MacOS开发环境搭建)