我们在把JDK路径配置为环境变量时,有一个常用的配置方法,就是把JDK根路径配置为“JAVA_HOME”值,然后在Path中添加一条“%JAVA_HOME%\bin”值。这种方法很便于修改JDK的版本,只要在更换版本时调整JAVA_HOME的内容便可以。但是,这种配置方式往往会引发一个错误,下面详细说明这个错误。

错误表现

“JAVA_HOME”中不仅可以设置单个值,也可以像Path内容一样,用分号隔开,设置多个值。例如,计算机中有“9.0.1”和“15.0.1”两个版本的JDK,我们可以把两个版本的JDK都添加进“JAVA_HOME”中,如图:

当然,这样使用是没有错误的。但是,当我们想要从中删除一个值,只留下一个版本时,比如只留下“jdk-15.0.1”,那我们就会点击第二行,并点击右边的删除,此时,回到命令行使用java编译时,我们会发现,剩下的那个版本的jdk也不能被正确定位了。

错误溯源

定位到jdk的目录下,如果可以看到“java.dll”,“java.exe”,“javac.exe”等文件都是存在的,说明该错误的原因不是jdk被破坏。回忆一下刚才删除“JAVA_HOME”值的操作,此时再查看“JAVA_HOME”环境变量,并没有发现什么异常:



但是,打开“Path”环境变量的编辑界面,细心的话可以看到它从列表模式变成了编辑文本的模式:



在“Path”中存在多条环境变量的值时,变成编辑文本模式意味着它可能是有错误的。重新回到CMD中,输入echo %Path%命令,把Path环境变量打印到命令行进行查看,可以发现一个明显的错误,如图:



在箭头所示的地方,看到jdk的路径中错误地插入了一个分号,说明“%JAVA_PATH%”解析出来的文本串后面带上了一个分号。重新编辑“JAVA_HOME”环境变量,点击右下角的“编辑文本”按钮,在编辑文本模式中,我们发现结尾有一个显眼的分号:





把这个分号删除之后,保存,回到命令行调试,java命令正常运行了。

解决方法

当存在多条环境变量时,系统会自动地以分号分隔开它们,且不会带来异常。但是,当从多条环境变量删除到仅剩一条时,系统会遗留下一个分号。我们使用“%JAVA_HOME%\bin”这样的方式去配置Path时,由于“%JAVA_HOME%”直接解析为文本,遗留的分号就会带来错误。

如果原来的环境变量是多个值,想要删除到仅剩一个值时,一定要记得删除这个分号,或者直接用编辑文本模式去删除,以防止引入不必要的错误。

希望这篇文章可以帮助到大家!

附:

系统信息:版本 Windows 10 专业版

版本号 20H2

操作系统内部版本 19042.867

jdk版本

jdk-15.0.1

jdk-9.0.1

配置Java环境变量时的一个常见错误的更多相关文章

  1. Ubuntu中配置Java环境变量时,出现command not found问题解决记录

    百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...

  2. linux配置java环境变量(详细)

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  3. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  4. linux配置java环境变量(转)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  5. linux配置java环境变量jdk jre(详细)【转】

    linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...

  6. linux配置java环境变量(详细)(转)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  7. JDK的安装与配置java环境变量

    JDK安装与配置java环境变量 安装JDK 1.百度搜索jdk8找到下载地址 下载地址:Java SE Development Kit 8 - Downloads (oracle.com) 2.点击 ...

  8. [知了堂学习笔记]_牵线Eclipse和Tomcat第一篇 —— 配置Java环境变量&&安装eclipse

    一.先给他们提供一个"浪漫的"环境,比如传说中的"鹊桥"--java环境变量.哈哈! 配置java环境变量. 下载jdk,根据自己电脑的版本和操作位数选择不同的 ...

  9. 第一天学JAVA,下载JDK,配置JAVA环境变量!!!

    步骤一:下载JDK https://www.oracle.com 我们首先进入到这个网站下载我们运行JAVA的所必须的JDK 进入到这个网站按照图示进入到下一个页面 因为刚学JAVA,我们的JDK版本 ...

随机推荐

  1. Node.js Backend Developer

    Node.js Backend Developer refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  2. Kotlin 入门教程

    Kotlin 入门教程 Android / Java https://developer.android.com/kotlin?hl=zh-cn 使用 Kotlin 开发 Android 应用 使用 ...

  3. Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼

    Apple Watch Series 6 全天候视网膜显示屏和全天候高度计是什么鬼 Apple Watch Series 6 / Apple Watch Series 5 全天候视网膜显示屏 LTPO ...

  4. Chrome new features preview

    Chrome new features preview CSS Overview https://css-tricks.com/new-in-chrome-css-overview/ capture ...

  5. You Don't Know the Hack tech in the frontend development

    You Don't Know the Hack tech in the frontend development 你所不知道的前端黑科技 css in js animation https://www ...

  6. vue & child component & props

    vue & child component & props vue pass data to child component https://vuejs.org/v2/guide/co ...

  7. map & scale bug

    map & scale TW bug https://antv.alipay.com/zh-cn/g2/3.x/demo/map/drill-down.html import React, { ...

  8. parcel bug & not support normal import React & ReactDOM module

    bug report not support normal import React & ReactDOM module, why Code Sample OK import * as Rea ...

  9. Nestjs 验证对象数组

    route @Patch(':id') patch(@Param('id') id: string, @Body() removeEssayDto: RemoveEssayDto) { return ...

  10. ES6 声明变量的六种方法

    ES5 只有两种声明变量的方法: var 命令和 function 命令. ES6 除了添加 let 和 const 命令, 后面章节还会提到, 另外两种声明变量的方法: import 命令和 cla ...