无管理员权限下如何优先使用JDK 1.8而非系统默认JDK 1.7?
如何在无管理员权限下优先使用JDK 1.8
我来给你几个实用的解决方案,都是不需要管理员权限就能实现的:
方法1:临时修改当前命令行窗口的环境变量
这是最直接的临时解决方案,每次打开新的命令行窗口后执行以下步骤:
- 先确认你的用户环境变量里的
JAVA_HOME确实指向JDK 1.8的安装路径,执行:
确保输出的是你配置的JDK 1.8路径(比如echo %JAVA_HOME%C:\Program Files\Java\jdk1.8.0_301)。 - 把JDK 1.8的
bin目录放到PATH的最前面,执行:set PATH=%JAVA_HOME%\bin;%PATH% - 现在再执行
java -version,就会显示JDK 1.8的版本了。
注意:这个修改只对当前命令行窗口有效,关闭窗口后就会恢复原来的环境变量。
方法2:编写批处理脚本快速切换到JDK 1.8
为了避免每次都手动输入命令,你可以写一个批处理脚本,双击就能切换环境:
- 新建一个文本文件,命名为
use_jdk8.bat,内容如下:@echo off :: 这里可以手动指定JDK 1.8路径,也可以直接用用户环境变量的JAVA_HOME set JAVA_HOME=C:\你的JDK1.8安装路径 set PATH=%JAVA_HOME%\bin;%PATH% echo 已切换到JDK 1.8,当前版本: java -version :: 保持窗口打开,方便后续操作 cmd /k - 保存后,每次需要用JDK 1.8的时候,双击这个批处理文件,打开的命令行窗口就会自动使用JDK 1.8了。
方法3:在IDE中直接指定JDK路径(开发场景首选)
如果你是用IDE(比如IntelliJ IDEA、Eclipse)进行开发,完全可以绕过系统环境变量,直接在IDE里配置JDK:
- IntelliJ IDEA:打开
File > Project Structure > SDKs,点击+添加你的JDK 1.8路径,然后在项目设置里选择这个SDK作为项目的JDK。 - Eclipse:打开
Window > Preferences > Java > Installed JREs,点击Add添加JDK 1.8,然后在项目的Build Path里选择这个JRE。
这样IDE的编译和运行都会使用你指定的JDK 1.8,完全不受系统环境变量的影响。
为什么原来的配置不生效?
因为系统环境变量的PATH优先级高于用户环境变量,用户配置的JDK 1.8路径是追加在PATH末尾的,系统会优先找到前面的JDK 1.7路径,所以java -version返回1.7。我们的解决方案核心就是在当前会话中把JDK 1.8的路径放到PATH最前面,让系统优先找到它。
内容的提问来源于stack exchange,提问作者johndoe
相关产品推荐
相关产品推荐

