如果您安装了多个 Java 版本,可以使用几种方法方便快捷地切换当前的 JAVA_HOME
。
1. 使用 jEnv
jEnv
是一个用于管理多个 Java 版本的工具。它允许您轻松地切换不同的 Java 版本。
安装 jEnv
brew install jenv
设置 jEnv
将 jEnv
添加到 shell 中:必须添加以下环境变量,否则使用jenv
设置的会不生效
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc
添加已安装的 Java 版本到
jEnv
:jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home jenv add /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
列出可用的 Java 版本:
jenv versions
切换 Java 版本:
设置全局版本:
jenv global 11.0
设置当前 shell 会话的版本:
jenv shell 1.8
设置某个项目目录下的版本:
jenv local 11.0
2. 手动切换 JAVA_HOME
您也可以手动切换 JAVA_HOME
,可以在 .zshrc
或 .bash_profile
文件中设置别名来简化切换过程。
编辑 .zshrc
或 .bash_profile
# 切换到 Java 8
alias setjdk8='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'
# 切换到 Java 11
alias setjdk11='export JAVA_HOME=$(/usr/libexec/java_home -v 11)'
# 切换到 Java 17
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 17)'
应用更改
source ~/.zshrc
使用别名切换 Java 版本
setjdk8 # 切换到 Java 8
setjdk11 # 切换到 Java 11
setjdk17 # 切换到 Java 17
3. 使用 sdkman
SDKMAN
是一个用于管理多个软件开发工具包的工具,包括 Java。
安装 SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
列出可用的 Java 版本
sdk list java
安装 Java 版本
sdk install java 11.0.10.hs-adpt
sdk install java 8.0.282.hs-adpt
切换 Java 版本
sdk use java 11.0.10.hs-adpt
sdk use java 8.0.282.hs-adpt
结论
这三种方法都可以方便快捷地切换 Java 版本,您可以根据自己的喜好和需求选择合适的方法。对于综合性和灵活性,jEnv
和 SDKMAN
都是不错的选择,而手动切换则适合简单需求的情况。
评论区