下载地址:Java 8, 11, 17, 21, 23 Download for Linux, Windows and macOS

一、多版本安装方案

推荐使用 SDKMAN! 作为主要版本管理工具,同时保留手动安装选项:

# 安装SDKMAN!
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

# 查看可用Java版本
sdk list java

# 安装指定版本
sdk install java 8.0.442-zulu
sdk install java 21.0.1-tem

手动安装路径示例:

/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
二、智能版本切换方案

优化后的环境变量配置(支持 bash/zsh):

# ~/.zshrc 或 ~/.bashrc 配置
# 定义各版本路径
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v 11)
export JAVA_17_HOME=$(/usr/libexec/java_home -v 17)
export JAVA_21_HOME=$(/usr/libexec/java_home -v 21)

# 默认使用Java 21
export JAVA_HOME=$JAVA_21_HOME

# 智能切换函数
function switch-java() {
    if [[ $1 =~ ^(8|11|17|21|23)$ ]]; then
        local version_var="JAVA_${1}_HOME"
        export JAVA_HOME="${!version_var}"
        echo "已切换到Java $1"
        java -version
    else
        echo "错误:仅支持Java 8/11/17/21/23"
        return 1
    fi
    
    # 更新Maven环境
    if command -v mvn &>/dev/null; then
        echo "Maven版本:"
        mvn -version | head -n 1
    fi
}

# SDKMAN!集成
source "$HOME/.sdkman/bin/sdkman-init.sh"
三、版本验证与故障排除
# 验证当前版本
java -version
javac -version

# 检查环境变量
echo $JAVA_HOME

# 修复权限问题
sudo chown -R $(whoami) /Library/Java/JavaVirtualMachines

# 清除缓存
sudo rm -rf /Library/Java/JavaVirtualMachines/*
四、IDE 集成配置

IntelliJ IDEA 配置:

  1. 打开 Preferences > Build, Execution, Deployment > Build Tools > Maven
  2. 在 "JDK for importer" 选择对应版本
  3. 在 "Runner" 中设置 JRE 路径

Eclipse 配置:

  1. 打开 Preferences > Java > Installed JREs
  2. 点击 "Add" > Standard VM
  3. 浏览并选择 JDK 路径
五、性能优化建议
# 启用JIT编译缓存
export JAVA_OPTS="-XX:CICompilerCount=2 -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0"

# 配置Maven使用指定Java版本
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
六、常见问题解决方案
  1. 终端与 GUI 应用版本不一致:
# 更新LaunchServices数据库
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f -R -domain local -domain system -domain user
  1. 安装后命令不可用:
# 创建软链接到/usr/local/bin
sudo ln -sfn /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/java /usr/local/bin/java
  1. Rosetta 2 兼容性问题:
# 为特定应用启用Rosetta
softwareupdate --install-rosetta
七、版本卸载方法
# 卸载特定版本
sudo rm -rf /Library/Java/JavaVirtualMachines/zulu-8.jdk

# 清理残留配置
rm -rf ~/Library/Preferences/com.oracle.java.*

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐