You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在JDK 8与JDK 10间切换系统默认JDK?

解决JDK 8与JDK 10共存时双击Jar文件默认用JDK 10的问题

我之前也碰到过完全一样的困扰!当同时安装JDK 8和JDK 10后,命令行的Java版本依赖环境变量,但双击Jar文件的打开逻辑是由Windows的文件关联机制决定的,和你设置的JAVA_HOMEPATH没有直接关系。Oracle的JDK 10安装程序会自动注册Jar文件的默认打开方式,优先级远高于手动配置的环境变量,这就是问题的核心。

方案一:手动修改Jar文件的默认打开程序

这是最直观的方法,直接指定JDK 8的javaw.exe来打开Jar:

  • 右键点击任意一个可执行Jar文件,选择「打开方式」→「选择其他应用」
  • 滚动到列表底部,选择「更多应用」,再点击「在这台电脑上查找其他应用」
  • 定位到你的JDK 8安装目录,找到bin文件夹下的javaw.exe(例:C:\Program Files\Java\jdk1.8.0_391\bin\javaw.exe
  • 勾选「始终使用此应用打开.jar文件」,点击确定即可

方案二:用命令行重置Jar文件关联(更可靠)

如果怕手动找路径出错,或者需要批量配置,可以用管理员权限执行命令:

  1. 管理员身份打开命令提示符(CMD)
  2. 执行以下命令(替换成你自己的JDK 8安装路径):
ftype jarfile="C:\Program Files\Java\jdk1.8.0_391\bin\javaw.exe" -jar "%1" %*
  1. 接着执行关联命令:
assoc .jar=jarfile
  1. 重启资源管理器(或直接重启电脑),设置即可生效

方案三:修复「配置Java」面板看不到JDK 8的问题

如果你想统一系统级的Java版本配置,可以这样操作:

  • 直接找到JDK 8安装目录下的bin/javacpl.exe,双击打开(这是JDK 8专属的Java控制面板,不会被JDK 10覆盖)
  • 切换到「Java」选项卡,点击「查看」按钮
  • 在弹出的窗口中,把JDK 8的条目拖动到最上方,设置为默认运行环境
  • 可以把这个javacpl.exe创建快捷方式到桌面,方便后续管理

关键注意点

  • 不要直接修改注册表的Jar关联项:Oracle的JDK安装程序会自动维护这些注册表键值,手动修改很容易被后续的JDK更新覆盖,用上面的ftypeassoc命令更稳定
  • 环境变量只影响命令行和依赖环境变量启动的程序:双击Jar文件是Windows文件系统的行为,和JAVA_HOMEPATH没有关联,这也是为什么你改了环境变量后cmd显示正常,但双击Jar还是用JDK 10的原因

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

火山引擎 最新活动