MAC系统中安装多个jdk并随时切换
2022/4/11 23:17:11
本文主要是介绍MAC系统中安装多个jdk并随时切换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
关注我 「Java之康庄大道」精彩文章第一时间推送给你
JDK更新的速度实在是太快了,我们一个项目还没完成,JDK已经更新好几代了,有时候我们既想要跟上JDK更新的步伐,又需要依赖以前的JDK版本,这个时候就需要在电脑上安装多个版本的JDK了,这篇文章就讲一下,如何在MAC系统中安装多个jdk并随时切换。
1.在 zshrc 中设置环境变量
# 进入zshrc文件 vim ~/.zshrc # 修改文件在里面添加如下 export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8) export JAVA_11_HOME=$(/usr/libexec/java_home -v11) export JAVA_17_HOME=$(/usr/libexec/java_home -v17) export PATH=$PATH:$JAVA_HOME/bin alias jdk8='export JAVA_HOME=$JAVA_8_HOME' alias jdk11='export JAVA_HOME=$JAVA_11_HOME' alias jdk17='export JAVA_HOME=$JAVA_17_HOME'
然后就可以在terminal中用jdk8切换到1.8版本,用jdk11切换到11版本,用jdk17切换到17版本了,但是这个方法存在一个问题,就是每次重启终端之前设置的版本就会失效,只能在当前终端使用,因为每次重启终端后会自动执行 source ~/.zshrc,会把之前设置的覆盖掉。
2.使用 python 脚本自动修改
需要电脑安装 python3,脚本jdkChange.py
如下:
import sys,os home_path = os.environ['HOME'] ZSH_CONFIG_FILE = home_path + '/.zshrc' content = '' with open(ZSH_CONFIG_FILE, "r") as f: content = f.read() if len(sys.argv) == 1: exit("请传入jdk版本,例如1.8,11,17") jdk = sys.argv[1] jdk_home = '$(/usr/libexec/java_home -v' + jdk + ')' exportCommond = "export JAVA_HOME=" + jdk_home; lines = content.split("\n") newLines = [] rewrite = False for line in lines: if line.startswith("export JAVA_HOME"): line = exportCommond rewrite = True # 删除java——home的导入 if line.startswith("export PATH=$PATH:$JAVA_HOME/bin"): continue newLines.append(line) if not rewrite: newLines.append(exportCommond) # 在文件末尾导入PATH newLines.append("export PATH=$PATH:$JAVA_HOME/bin") with open(ZSH_CONFIG_FILE, "w") as f: f.write('\n'.join(newLines))
接下来需要修改zshrc文件如下:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8) export JAVA_11_HOME=$(/usr/libexec/java_home -v11) export JAVA_17_HOME=$(/usr/libexec/java_home -v17) alias jdk8='python3 /Users/yunqing/Documents/software/jdkChange.py 1.8;export JAVA_HOME=$JAVA_8_HOME' alias jdk11='python3 /Users/yunqing/Documents/software/jdkChange.py 11;export JAVA_HOME=$JAVA_11_HOME' alias jdk17='python3 /Users/yunqing/Documents/software/jdkChange.py 17;export JAVA_HOME=$JAVA_17_HOME'
其中前面的python3命令是为了全局的环境变量,即终端重启后可以生效,后面的export JAVA_HOME是为了当前终端可以生效.
经过如上配置,就可以实现自由切换 JDK 版本了。
这篇关于MAC系统中安装多个jdk并随时切换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南