【JDK】输入命令Javac报错详解

简介: 输入命令Javac报错详解


问题
相信很多人都经历过配置环境变量失败的经历,尤其是很多时候明明按照老师教的步骤或者教程上的方法循规守矩配置却还是出错。

下面我们来解决一个非常蹊跷的问题---输入Java和Java -version都没问题,但是输入Javac报错

image.png

这里我们就要从你安装的JDK查起

image.png

下载第一个完成后解压缩找到.exe安装即可

下载后面两个的话打开会直接提示你安装,你的安装目录下会有个几个压缩包和一个.exe文件

产生问题的可能原因
1.检查你下载的JKD根目录下是否还有压缩包,若有的话一定要全部解压到当前文件夹

有些情况就是应为jre所在的文件夹没有解压导致电脑怎么也找不到jre这个文件

2.大部分出现这种问题的原因是因为配置path变量出错了 老师或者网上教你的方法都是添加一段指令-%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;或者%JAVA_HOME%这样是对的,但是如果你电脑里下载了不止一个版本的JDK 这样就大错特错了!!!!

小实验论证
我做一个实验,给电脑安装了两个版本的JDK当我按照教程配置完后发现输入Java和Java -version都没问题但是输入javac却报错显示不是本地文件,以下是我配置的path变量
image.png

image.png

报错! 

 按道理说没毛病吧都是按照教程做的 ,但是为什么输入javac却报错呢?

首先我们要明白%JAVA_HOME%是干嘛的-----简单来说它是用来寻找JDK根目录的,但是我安装了不止一个版本的jdk我该怎么去寻找我想要的JDK根目录呢?

解决方案
解决办法————我们用绝对路径!!!!!这就好比打着手电筒走夜路,绝不会错!

下面是我利用绝对路径配置path变量

image.png

 image.png

 成功了!!

另外大家要知道

JDK(Java开发工具包)
JDK=JRE+java开发工具
JRE(开发环境)=JVM+Javase标准类库(Java核心类库)
.Java变为.class是经过javac编译
 

相关文章
|
6月前
|
Java
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
|
5月前
|
安全 Java API
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
|
5月前
|
Arthas Prometheus 监控
使用JDK自带工具调优JVM的常用命令
使用JDK自带工具调优JVM的常用命令
|
7月前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
67 1
|
6月前
|
Java API 运维
开发与运维特性问题之jmap命令功能如何解决
开发与运维特性问题之jmap命令功能如何解决
59 0
|
8月前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
2535 1
|
8月前
|
Java 数据库 微服务
Seata常见问题之Seata的jdk17启动seata1.7.0报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
|
Java Android开发
成功解决eclipse启动报错 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available
成功解决eclipse启动报错 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available
|
Java Anolis
【解决问题】Anolis下JDK编译Dragonwell解决configure时X11的报错
Dragonwell JDK在编译时,执行configure遇到的X11环境检查相关的问题,主要是环境上对应的包未安装,检查失败。对应安装如下几个包即可。
|
Oracle Java 关系型数据库
华为云aarch64架构下载jdk;Linux上jdk无法执行二进制文件及​gzip: stdin: invalid compressed data–format violated​报错
华为云aarch64架构下载jdk;Linux上jdk无法执行二进制文件及​gzip: stdin: invalid compressed data–format violated​报错
626 0