为什么感觉环境变量没配错,JDK包没有问题,但是javac命令运行失败(环境变量的一些思考)

本文讲述了作者遇到的JDK环境变量配置错误,由于用户变量中的路径优先级高于系统变量,导致使用javac.exe时出现问题。作者解释了环境变量的遍历顺序以及如何调整路径以确保正确执行JDK命令。
摘要由CSDN通过智能技术生成

个人错误速看

我是JDK包没问题,环境变量配置在了用户变量中,导致优先级更高的系统变量的Path中有一个其他文件夹的javac.exe文件路径,所以每次都执行那个错误的javac.exe,如果问题和我一样可以接着往后看。

环境变量的作用

  1. 首先在jdk-xxx\bin下运行javac -version是绝对可行的,因为javac.exe文件就存放在该目录之下。
  2. 而要在别的目录下同样用到该命令,就必须配置环境变量Path中的路径,添加X:\xxx\jdk=xxx\bin这个路径。
  3. 在其他目录下执行javac -version命令,首先系统寻找该目录下是否存在名为javac的可运行文件,如果没有再逐一去环境变量Path中寻找。

环境变量的遍历顺序

很多博客中说到如果你验证了JDK包没有问题,环境变量一定要注意将Path路径中的X:\xxx\jdk=xxx\bin路径往上移动到最上层,但是没有讲其中原理,我想讲的是两个注意的问题。

  • 移到最上面应该是指下方即本机全局的系统变量Path的最上方,而不是用户变量的Path的最上方。打开cmd命令行窗口,输入path命令是可以发现在遍历path路径时系统变量优先于用户变量

在这里插入图片描述

  • 当发现把路径上移就能解决问题的时候得想想其背后的原理,系统既然没有遍历到你需要的正确路径,那就是因为比正确路径的优先级更高的路径中存在有javac.exe文件。我的话就是下面图片中框起来的那个路径中有javac.exe文件。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值