mac 安装多个版本的 jdk

博主拉取代码后,因项目大且操作耗时,决定研究代码实现。文章详细介绍了在Mac上配置多个Java版本的步骤,包括安装相关工具、添加命令、安装所需版本、配置版本信息等,还提及切换版本及环境变量配置等内容,并给出相关参考链接。

最近打算研究一下elasticsearch,看一下某些代码实现,于是拉了一下代码。吼,这个项目还真是大,拉代码就挺久。然后用idea打开,发现master竟然要jdk 11,切到6.5分支竟然也要jdk 10,自己的电脑装的是jdk8,瞬间感觉有点xxx。于是查了一下mac下怎么配置多个jdk

准备工作

如果没有homebrew,先装一下homebrew

第一步

brew install jenv 安装jenv,不要问我这是什么,装了就行了。

将下面的命令加到.bash_profile最下面,默认我们打开bash时,会配置这个文件的内容。不过一般mac都用zsh,所以把下面的命令加到.zshrc最下面。

eval "$(jenv init -)"

第二步

brew tap caskroom/versions

第三步

brew cask install java

第四步

brew cask install java11
#brew cask install java7
#brew cask install java8

安装你需要的jdk版本。

第五步

ls -la /Library/Java/JavaVirtualMachines

这个命令可以查看安装的所有jdk

第六步

配置jenvjdk,注意替换下面命令里的jdk版本,版本从第五步的结果里能够看到。

jenv add /Library/Java/JavaVirtualMachines/jdk版本1/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk版本2/Contents/Home

第七步

完成上面的指令后,已经可以用下面的命令,查看所有安装的jdk版本了。

jenv versions

通过下面的命令切换jdk版本,xx就是上面的命令列出的jdk版本。

jenv global XX

通过java -version就能发现,切换jdk版本成功了。但是jenv并不会修改JAVA_HOME值,所以我们还需要添加下面的配置到.bash_profile或者.zshrc,放在第一步配置的内容下面

export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"

每次使用jenv切换jdk版本之后,JAVA_HOME其实还是没有改变,需要我们退出terminal,然后重新打开一个新的就行了。因为每次打开新的窗口,就会调用配置的环境命令~

相关参考

https://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions

https://github.com/jenv/jenv/issues/212#issuecomment-446258279

https://github.com/jenv/jenv/issues/44#issuecomment-39356954

### macOS 上安装配置多版本 JDK 的方法 在 macOS 平台上,可以通过多种方式来安装并配置多个版本JDK。以下是具体的方法: #### 手动下载安装 可以从 Oracle 官网或其他可信源下载所需版本JDK 安装包[^2]。以 JDK 17 为例,其官方下载链接为:[https://www.oracle.com/java/technologies/downloads/#java17](https://www.oracle.com/java/technologies/downloads/#java17)。 完成下载后,双击 `.dmg` 文件按照提示操作即可完成安装。默认情况下,JDK 将被安装到 `/Library/Java/JavaVirtualMachines/` 路径下[^3]。 #### 使用 Homebrew 进行安装 如果希望更方便地管理和更新 JDK 版本,可以借助 Homebrew 工具。首先确认已正确安装 Homebrew,然后运行以下命令分别安装不同的 JDK 版本: ```bash brew install openjdk@17 brew install openjdk@11 ``` 这些命令会自动将指定版本的 OpenJDK 安装至系统的适当位置。 #### 配置环境变量支持多版本切换 为了能够在不同项目中灵活使用特定版本JDK,在 shell 配置文件(如 `~/.zshrc` 或 `~/.bash_profile`)中定义多个 JDK 的路径,并设置相应的别名或函数用于快速切换。 例如,添加如下内容到配置文件中: ```bash export JAVA_HOME_17="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home" export JAVA_HOME_11="/Library/Java/JavaVirtualMachines/openjdk@11/Contents/Home" alias use_java17='export JAVA_HOME=$JAVA_HOME_17 && export PATH=$JAVA_HOME/bin:$PATH' alias use_java11='export JAVA_HOME=$JAVA_HOME_11 && export PATH=$JAVA_HOME/bin:$PATH' ``` 保存修改后的配置文件并通过执行 `source ~/.zshrc` (或者对应使用的其他 profile 文件)使更改生效。之后只需输入 `use_java17` 或者 `use_java11` 即可即时切换当前终端所用的 JDK 版本。 另外也可以利用工具如 `jenv` 来简化这一过程,它专门设计用来管理 Java 环境中的多个版本[^1]。 #### 测试 JDK 切换效果 无论采取哪种方式进行 JDK 版本切换,都建议验证是否成功应用目标版本。可通过下面这条指令查看正在使用的 JDK 及其版本号: ```bash java -version ``` 以上就是在 macOS 下实现多版本 JDK 安装与便捷切换的主要手段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值