You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在M2 MacBook上安装Intel架构的Java 11?

如何在M2 MacBook上安装Intel架构的Java?

问题背景

由于存在仅支持x86架构的Java二进制文件,我需要在M2 MacBook上通过Rosetta运行Intel版本的Java。尝试用SDKMAN和Oracle的Intel安装程序安装,但均未成功。

已尝试的SDKMAN操作步骤

  • 已创建通过Rosetta运行的终端,验证结果符合预期:
    ~  arch
    i386
    
    ~  uname -m
    x86_64
    
  • 编辑了.sdkman/etc/config文件,添加sdkman_rosetta2_compatible=false(不确定是否正确)
  • 执行命令sdk install java 11.0.20-ms安装Microsoft提供的Java 11
  • 用cat $(which java) | file -验证安装结果,始终显示为arm64版本

解决方法

方法一:修正SDKMAN配置安装Intel Java

  1. 确保全程在Rosetta终端中操作(执行arch命令应返回i386)
  2. 修改SDKMAN配置文件.sdkman/etc/config,将sdkman_rosetta2_compatible设置为true——这个配置会让SDKMAN识别当前处于Rosetta环境,优先下载x86架构的Java包
  3. 卸载已安装的arm64版本Java:
    sdk uninstall java 11.0.20-ms
    
  4. 重新安装支持x86架构的Java版本,比如选择Amazon Corretto的x86包:
    sdk install java 11.0.20-amzn
    
    也可以用sdk list java查看所有可用版本,确认标注有x86_64的选项后再安装
  5. 验证安装结果:
    file $(which java)
    
    输出应显示Mach-O 64-bit executable x86_64

方法二:手动下载安装Intel版Java

  1. 直接下载对应x86_64架构的Java安装包(比如Oracle JDK、Amazon Corretto或AdoptOpenJDK的Mac x86版本)
  2. 打开Rosetta终端,将安装包解压到指定目录,例如/Library/Java/JavaVirtualMachines/
  3. 配置环境变量,在~/.zshrc(或~/.bash_profile,取决于你用的shell)中添加:
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/[你的Intel Java版本目录]/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    
  4. 刷新环境变量:
    source ~/.zshrc
    
  5. 验证:
    java -version
    file $(which java)
    
    确认输出显示x86_64架构信息

关键注意事项

  • 所有安装、配置和验证操作必须在Rosetta终端中执行,否则会默认下载arm64版本
  • SDKMAN的sdkman_rosetta2_compatible=true是核心配置,不要设为false
  • 选择Java版本时,务必确认该版本提供x86_64架构的Mac安装包

内容的提问来源于stack exchange,提问作者kevinlinxc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:15:29