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

java.version返回异常值:Mac下切换JRE运行旧代码遇问题

问题分析与解决方法

一、终端执行java -jar仍用旧JRE的原因及修复

你进入JRE_new的bin目录后直接执行java -jar,终端其实可能调用的是PATH环境变量中优先级更高的旧JRE的java命令,而不是当前目录下的java。

解决步骤:

  • 执行当前目录的java命令时,要加上./前缀,确保调用的是当前目录的JRE:
    ./java -jar <jar文件路径>
    
  • 先验证版本是否正确,执行./java -version,确认输出是JRE_new的版本后再启动jar包。

二、双击.app启动无效的原因及修复

Mac的.app应用包通常会在自身的Info.plist文件中硬编码JVM路径或版本要求,系统的JAVA_HOME设置不会覆盖这个配置,所以即使你设置了JAVA_HOME,app还是会用内置指定的旧JRE。

解决步骤:

  1. 右键点击MyApp.app,选择「显示包内容」
  2. 进入Contents目录,找到Info.plist文件并打开编辑
  3. 查找与Java相关的配置项:
    • 如果有JVMRuntimeLocation键,将其值修改为JRE_new的完整路径,比如/Library/Java/JavaVirtualMachines/jre-new-version/Contents/Home
    • 如果有JVMVersion键,修改为JRE_new对应的版本号(比如1.8*对应Java 8)
  4. 保存修改后,重新双击启动app即可

额外验证点

  • 先确认JRE_new本身的版本是否正确,执行绝对路径的java命令:
    /path/to/JRE_new/Contents/Home/bin/java -version
    
  • 如果MyApp.app内部自带了JRE(比如Contents/PlugIns目录下有JRE文件夹),直接替换这个文件夹为JRE_new的内容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 14:38:16