'javac'不是内部或外部命令,也不是可运行的程序或批处理文件.

本文详细介绍了因Java安装过程中JDK与JRE路径设置相同导致的问题及其解决方案。通过卸载原有Java环境并重新安装,确保JDK与JRE路径分开,然后进行正确的环境变量配置,最终实现Java环境的正确配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因:这是因为安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了。这时候你在lib下也找不都tools.jar和dt.jar.
解决:1.首先卸载java,卸载很容易,直接把这两个有关java的程序给卸载了就行了(用windows自带的卸载)。卸载完你也会发现,原来放java的文件夹也空了。

2.重新安装
在D盘新建一个java文件夹,在java文件下新建两个文件夹,分别命名为jdk和jre.
3.双击程序进行安装,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为D:\java\jdk,第二次是让你选择jre的安装路径,选择为D:\java\jre
4.安装完成后,进行环境变量的配置,计算机右击属性,-高级系统设置-环境变量-选择下边的系统变量

5.新建
变量名:Path
变量值:C:\ProgramData\Oracle\Java\javapath;%java_home%\bin;D:\java\jre\bin

这个地方我对别人的方法做出了修改,jre是在java目录下而不是jdk目录下,这是javac不能运行的关键

新建
变量名:JAVA_HOME
变量值:D:\java\jdk
新建
变量名:ClassPath
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
之所以把java_home设为D:\java\jdk,是因为安装过程中生成的dt.jar,tools.jar是放在了D:\java\jdk\lib目录下,它都是jdk的东西。classPath用java_home来做一个相对路径。所以java_home必须是jdk的安装目录,且后面不可以有分号,若它后面有分号,则%JAVA_HOME%\lib\dt.jar就不是一个目录了。
6.测试
打开cmd,

输入java -version测试

输入javac -version测试

就代表安装成功

有效的话就拜托点个赞谢谢啦,有问题可以留言

### 配置 Java 环境变量以使 `javac` 命令可用 为了确保 `javac` 命令能够正常工作,需要正确配置 JDK 的环境变量。以下是详细的说明: #### 1. 安装 JDK 并确认路径 首先,确保已经下载并安装了 JDK 而不是仅安装 JRE(Java Runtime Environment)。JDK 是开发工具包,包含了编译器 `javac` 和其他必要的开发工具[^2]。 检查安装目录下的 `bin` 文件夹是否存在名为 `javac.exe` 的文件。如果没有找到该文件,则可能是安装过程中选择了错误的组件者安装失败[^1]。 #### 2. 设置 JAVA_HOME 变量 创建一个新的系统环境变量 `JAVA_HOME`,其值应指向 JDK 的根目录。例如: ```plaintext C:\Program Files\Java\jdk-11.0.12 ``` 注意:不要在路径末尾添加反斜杠 `\` 者双引号 `" "`[^3]。 #### 3. 更新 PATH 变量 编辑现有的 `PATH` 系统变量,追加以下内容以便访问 `java` 和 `javac` 命令: ```plaintext %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; ``` 这一步非常重要,因为只有将 `bin` 目录加入到 `PATH` 中,操作系统的命令行才能识别这些可执行文件[^4]。 #### 4. CLASSPATH (可选) 虽然现代 IDE 不再强制要求设置 `CLASSPATH`,但如果某些项目依赖于它,可以将其设为如下形式: ```plaintext .; %JAVA_HOME%\lib; %JAVA_HOME%\lib\tools.jar; ``` 这里的 `.` 表示当前目录,通常建议保留这一部分以支持本地类加载[^5]。 #### 5. 测试配置是否成功 完成上述步骤后,重新启动计算机打开新的终端窗口来刷新环境变量缓存。接着输入以下两条指令验证效果: ```bash java -version javac -version ``` 两者都应该返回相应的版本信息而不是提示找不到命令其他错误消息。 --- ### 注意事项 - 如果仍然遇到问题,请仔细核对每一步骤中的拼写准确性以及分隔符一致性;不同操作系统可能采用不同的语法结构处理路径列表。 - 对于 Windows 用户来说,默认情况下使用的是英文半角字符作为分隔符(`;`)而非中文全角符号(;)。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值