温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么使用在mac系统中同时支持多个版本的jdk

发布时间:2021-10-14 10:08:27 来源:亿速云 阅读:175 作者:iii 栏目:编程语言
# 怎么使用在Mac系统中同时支持多个版本的JDK ## 前言 在Java开发中,不同项目可能需要不同版本的JDK(Java Development Kit)。Mac系统通过自带的`/usr/libexec/java_home`工具和第三方版本管理工具(如jenv、SDKMAN!)可以轻松实现多版本JDK的切换与管理。本文将详细介绍三种主流方案的操作步骤。 --- ## 方案一:使用原生工具手动切换 ### 1. 安装多版本JDK 通过以下方式获取不同版本JDK: - **官网下载**:从[Oracle官网](https://www.oracle.com/java/technologies/downloads/)或[OpenJDK](https://adoptium.net/)下载pkg安装包 - **Homebrew安装**: ```bash brew tap homebrew/cask-versions brew install --cask temurin8 temurin11 temurin17 

2. 查看已安装JDK路径

/usr/libexec/java_home -V 

输出示例:

Matching Java Virtual Machines (3): 17.0.1 (x86_64) "Eclipse Temurin" - "OpenJDK 17.0.1" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home 11.0.13 (x86_64) "Eclipse Temurin" - "OpenJDK 11.0.13" /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home 1.8.0_301 (x86_64) "Eclipse Temurin" - "OpenJDK 8" /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home 

3. 临时切换版本

export JAVA_HOME=$(/usr/libexec/java_home -v 11) 

4. 永久切换版本

编辑~/.zshrc~/.bash_profile

# 设置默认JDK版本 export JAVA_HOME=$(/usr/libexec/java_home -v 17) export PATH=$JAVA_HOME/bin:$PATH 

方案二:使用jenv管理工具

1. 安装jenv

brew install jenv 

2. 配置Shell环境

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc 

3. 添加JDK路径

jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home 

4. 版本管理操作

# 查看所有版本 jenv versions # 设置全局默认版本 jenv global 17.0 # 设置当前目录版本 jenv local 11.0 

方案三:使用SDKMAN!

1. 安装SDKMAN!

curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" 

2. 安装多版本JDK

sdk install java 17.0.1-tem sdk install java 11.0.13-tem 

3. 版本切换

# 查看可用版本 sdk list java # 切换版本 sdk use java 17.0.1-tem # 设置默认版本 sdk default java 11.0.13-tem 

验证JDK版本

无论采用哪种方案,都可通过以下命令验证:

java -version javac -version 

对比三种方案

方案 优点 缺点
原生工具 无需额外工具 切换不够灵活
jenv 支持项目级版本控制 需要额外配置环境变量
SDKMAN! 支持300+ SDK版本 占用更多磁盘空间

常见问题解决

1. 出现No Java runtime present错误

执行以下命令重装JRE:

sudo touch /etc/bashrc sudo bash -c 'echo "export JAVA_HOME=$(/usr/libexec/java_home)" >> /etc/bashrc' 

2. Homebrew安装失败

尝试更新Homebrew:

brew update && brew upgrade 

3. jenv无法识别JDK

检查是否已正确添加路径:

jenv doctor 

结语

在Mac上管理多版本JDK推荐组合使用Homebrew+jenv方案,既能享受Homebrew的便捷安装,又能利用jenv的灵活版本控制。对于需要频繁切换版本的开发者,SDKMAN!也是值得考虑的解决方案。 “`

注:实际字符数约950字(含代码块和表格)。可根据需要增减具体方案的详细说明。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jdk
AI