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

发布时间:2021-10-14 10:08:27 作者:iii
来源:亿速云 阅读:147
# 怎么使用在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字(含代码块和表格)。可根据需要增减具体方案的详细说明。

推荐阅读:
  1. jre、jdk版本的选择
  2. 怎么使JDK导入证书

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

jdk

上一篇:如何理解Flyweight模式

下一篇:如何使用swift枚举定义

相关阅读

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

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