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博客
- 链接: https://pan.baidu.com/s/1Phtyj9sxi3f7NRA5IEsVIQ 提取码: nm8q
- AdoptOpenJDK官方网站:https://adoptopenjdk.net/