Windows系统中同时管理JDK 9(64位)与JDK 8(32位)的方法咨询
嘿,作为新手遇到多JDK版本管理的问题太正常了,我来一步步给你讲清楚怎么搞定——既能同时保留两个JDK版本,又能顺利运行那个只支持32位JRE的Jar文件~
多JDK版本管理方案(JDK9 64位 + JDK8 32位)
首先先解释下你遇到的小问题:安装JDK9后,系统默认Java版本变成了JDK9,大概率是因为JDK9的安装程序自动把它的bin目录路径加到了系统PATH环境变量的最前面,优先级超过了你原来设置的JDK8路径。下面是几种实用的解决方法,你可以根据自己的需求选:
方法一:临时指定32位JDK8运行Jar(单次使用,不用改全局设置)
这个方法最适合只偶尔运行那个32位Jar的场景,完全不影响全局默认的Java版本:
- 先找到你JDK8 32位的安装目录,通常32位程序会放在
C:\Program Files (x86)\Java\jdk1.8.xxx(xxx是具体的版本号,比如_301),进入bin文件夹,复制这个完整路径,比如C:\Program Files (x86)\Java\jdk1.8.0_301\bin - 打开命令提示符(CMD),输入以下命令(注意把路径和Jar文件名换成你自己的):
"C:\Program Files (x86)\Java\jdk1.8.0_301\bin\java.exe" -jar 你的Jar文件路径.jar为什么要加引号?因为路径里有空格(
Program Files (x86)),不加引号会被系统当成多个命令参数,导致报错。
方法二:调整系统PATH,让JDK8 32位成为全局默认(保留JDK9)
如果你平时大部分时间都需要用32位JDK8,只偶尔用JDK9,可以把JDK8的路径优先级调高:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」列表里找到
PATH,点击「编辑」 - 在弹出的编辑窗口里,找到JDK9的
bin路径(通常是C:\Program Files\Java\jdk-9.xxx\bin),把它移到JDK8 32位的bin路径后面 - 点击「确定」保存所有设置,然后关闭所有已打开的CMD窗口,重新打开一个新的CMD,输入
java -version,就能看到默认版本变成JDK8 32位了 - 如果你需要临时用JDK9,直接像方法一那样指定它的路径就行:
"C:\Program Files\Java\jdk-9.xxx\bin\java.exe" -jar 你的其他Jar文件.jar
方法三:用脚本快速切换版本(推荐新手,灵活不折腾)
这个方法不用改全局环境变量,双击脚本就能快速切换默认版本,非常方便:
- 在电脑上新建一个文件夹(比如叫
JavaVersionSwitch),用来放切换脚本 - 新建两个文本文件,分别命名为
jdk8_32.bat和jdk9_64.bat - 打开
jdk8_32.bat,粘贴以下内容(记得把路径换成你自己的JDK8安装路径):@echo off set PATH=C:\Program Files (x86)\Java\jdk1.8.0_301\bin;%PATH% set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_301 echo 已切换到JDK 8 32位版本 java -version - 打开
jdk9_64.bat,粘贴以下内容(换成你自己的JDK9路径):@echo off set PATH=C:\Program Files\Java\jdk-9.0.4\bin;%PATH% set JAVA_HOME=C:\Program Files\Java\jdk-9.0.4 echo 已切换到JDK 9 64位版本 java -version - 保存后,双击
jdk8_32.bat,会弹出一个CMD窗口,显示当前版本是JDK8 32位,在这个窗口里运行你的Jar文件就行;需要用JDK9的时候,双击另一个脚本即可。
一些注意事项
- 确认JDK8是32位的:32位的Java程序默认安装在
C:\Program Files (x86),64位在C:\Program Files,别搞混了 - 不要删除任何一个JDK的路径,只是调整顺序或者临时指定,这样两个版本都能保留正常使用
- 如果Jar文件需要额外的运行参数,直接加在
-jar后面就行,比如:"C:\Program Files (x86)\Java\jdk1.8.0_301\bin\java.exe" -jar 你的Jar文件.jar --debug true
内容的提问来源于stack exchange,提问作者Waliur Rahman
相关产品推荐
相关产品推荐

