Mac上安装多个java jdk版本并切换命令

目录

一、 下载jdk并安装

二、配置环境变量

1. 打开配置文件

2.配置Java_Home

 3.刷新缓存

三、切换jdk并查看版本

四、终端卸载 Java


一、 下载jdk并安装

  • Oracle官方网站:https://www.oracle.com/java/technologies/javase-downloads.html

不想创建Oracle账户,也可以从以下网址下载OpenJDK:

  • AdoptOpenJDK官方网站:https://adoptopenjdk.net/

如果实在下不了,可以在我的百度网盘链接下载: 

  • 链接: https://pan.baidu.com/s/1Phtyj9sxi3f7NRA5IEsVIQ 提取码: nm8q

二、配置环境变量

1. 打开配置文件

如果当前使用的shell是zsh就编辑.zshrc文件,如果是bash就编辑.bash_profile文件。

vim ~/.bash_profile

vim ~/.zshrc 

注:如果发现切换java命令没有用,或者提示:zsh: command not found: jdk8。因为mac最新版本默认使用的是zsh,而zsh加载自己的配置文件.zshrc。第一种解决办法是我们将配置写在.zshrc文件中;第二种解决办法是在.zshrc文件末尾加入source ~/.bash_profile:

source ~/.bash_profile

2.配置Java_Home

查看已安装的所有jdk版本

/usr/libexec/java_home -V
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home"
export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home"
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
export JAVA_HOME=$JAVA_8_HOME #默认使用jdk8
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"

 3.刷新缓存

vim保存配置文件:先按esc从插入模式切到命令行模式,然后输入英文冒号(:)进入末行模式,键入wq保存编辑内容,q直接退出不保存

刷新相应文件内容缓存:

source ~/.bash_profile
source ~/.zshrc

三、切换jdk并查看版本

#切换java,alias取的什么名就输入什么名字
jdk8 
#查看当前jdk版本
java -version 

四、终端卸载 Java

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-1.8.jdk

五、此种切换方式缺点及解决方法

缺点是这个方法只改变了JAVA_HOME,并没有更改PATH,也就是说重新启用一个新的终端窗口之前设置的jdk版本就会失效恢复成默认的jdk,因为每次重启终端后会自动执行 source ~/.zshrc,会把之前的设置覆盖掉。

1.解决方法一

直接修改文件中JAVA_HOME的指向,修改后记得刷新缓存        

2.解决方法二(待验证)

使用脚本修改配置文件的原始导出jdk版本:Mac 系统如何在多个jdk版本之间切换_mac从java 11 切换到java8-CSDN博客

3.解决方法三(待验证)

修改全局配置/etc/profile,参考linux修改方式:

Linux上,多个JDK版本如何管理_linux多个jdk如何指定-CSDN博客

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值