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

Mac下无法加载Java运行时环境问题求助

解决Intel Mac(macOS 15.4.1)双击Java *.app无法加载Liberica JRE的问题

问题根源

Mac的*.app应用包依赖特定的JRE关联配置,GUI启动上下文和命令行/IDE的环境变量逻辑不一致,导致系统无法识别已安装的Liberica JRE。

解决方案

1. 修改*.app的Info.plist配置

右键点击*.app →「显示包内容」,打开Contents/Info.plist文件:

  • 先通过命令获取Liberica JRE的Bundle ID:
    defaults read /Library/Java/JavaVirtualMachines/liberica-jre-8-full.jre/Contents/Info.plist CFBundleIdentifier
    
  • 查找文件中的JVMRuntime或JVMVersion字段,将其值替换为上述命令得到的Bundle ID(比如com.bellsoft.liberica.jre8)。
  • 如果没有相关字段,添加以下XML片段(确保格式与现有内容一致):
    <key>JVMRuntime</key>
    <string>com.bellsoft.liberica.jre8</string>
    

2. 配置系统默认JRE为Liberica

先确认Liberica的路径:

/usr/libexec/java_home -v 1.8

输出应为Liberica JDK/JRE的安装路径。接着配置shell环境变量:

  • 打开~/.zshrc(或~/.bash_profile,取决于你使用的shell),添加:
    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 执行source ~/.zshrc使配置生效,然后重启Finder(按住Option键右键点击Dock上的Finder图标,选择「重新启动」)。

3. 注册Liberica JRE到系统

用系统工具强制注册Liberica JRE,让GUI程序能正确识别:

sudo /usr/libexec/java_home -v 1.8 --register

输入密码执行后,系统会更新Java运行时的全局关联信息。

4. 重新打包*.app(自定义打包场景)

如果该*.app是你自行打包生成的,重新打包时指定Liberica JRE路径,确保应用嵌入正确的运行时:

javapackager -deploy -native image -srcfiles abc.jar -appclass 你的主类全路径 -outdir deploy -outname 你的应用名 -v -Bruntime=/Library/Java/JavaVirtualMachines/liberica-jdk-8-full.jdk/Contents/Home/jre

这样生成的*.app会自带Liberica JRE,无需依赖系统配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:32:39