java -version可以了,但是javac不是内部或外部命令,也不是可运行的程序或批处理文件(解决方案)

平时开发用工具的原因,配置JDK环境后,在CMD窗口输入 java -verion 命令,有显示JDK版本,就认为环境已经配置好。

比如这样:

但是这几天想看看java文件编译后的字节码是啥样的,于是CMD窗口,输入  javac  , 发现提示报错:

这就很奇怪,于是去找环境变量的配置,经过自己测试,终于解决问题。

首先回顾一下我自己的 JDK 的环境变量配置的 三个变量:

JAVA_HOME:(jdk安装路径)

C:\Program Files\Java\jdk1.8.0_131

CLASSPATH:(现在的jdk版本不需要配置这个变量了,配好path变量就足够)

.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

注意 前面有这个 .;  英文字符分号和英文字符点

PATH:

%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin


我的配置如图所示(JDK1.8)

只有 JAVA_HOME 和 PATH 做了修改

查看JDK版本正常显示,看似没问题,但是  javac 指令就报错。

问题就在于我的 JAVA_HOME 是在用户变量中,而不是系统变量

也就是说path这个变量中的 %JAVA_HOME% 对于javac来说可能没生效!

 

于是把 JAVA_HOME 这个变量放到系统变量中,或者直接使用绝对路径不使用 JAVA_HOME 变量,

于是就解决了问题。

还有一个坑

当你的 PATH 这个是直接复制过来的,对于win10来说,不能直接粘贴进来

错误示例

虽然分号是环境变量的分割符,

但是你输入的文本里面有分号,结果系统自动给你加了引号

点击编辑文本, 或者 cmd直接输入path就会发现:

正确示例

 

最后完美解决

 

总结

1. 变量都写在系统变量中!

2. 有;分隔的变量属性分多条分开写!

3. 修改好环境变量之后记得保存,需要重新打开新的cmd窗口!!

-------------------------------------------------------

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
这个问题可能是由于您的计算机上没有正确安装Java开发环境导致的。请按照以下步骤检查和解决此问题: 1. 首先,确保已经正确安装了Java开发工具包(JDK)。您可以在Oracle官方网站上下载适合您系统的最新版本JDK,并按照安装向导进行安装。 2. 安装完成后,打开命令提示符(Windows)或终端(Linux/macOS)窗口,并输入以下命令来验证Java是否已成功安装: ``` java -version ``` 如果您看到输出了Java的版本信息,则表示Java已成功安装。如果没有输出或者显示类似于 "java 不是内部外部命令" 的错误信息,则说明Java未正确配置。 3. 如果Java未正确配置,请检查您的系统环境变量设置。确保以下路径已添加到您的系统环境变量中: - JDK的安装路径(例如:C:\Program Files\Java\jdk1.8.0_271\bin) 如果这些路径尚未添加到环境变量,请按照以下步骤进行添加: - 在Windows上,打开控制面板,搜索并打开"环境变量"。 - 在环境变量对话框中,双击"Path"系统变量。 - 在编辑环境变量对话框中,点击"新建"按钮,并添加JDK的安装路径。 - 确认并保存您的更改,然后重新打开命令提示符窗口,再次尝试运行"java -version"命令。 如果您是在Linux或macOS上使用,请编辑您的用户配置文件(例如:~/.bashrc 或 ~/.bash_profile),并将以下行添加到文件的末尾: ``` export PATH="/usr/local/java/bin:$PATH" ``` 保存文件并重新打开一个新的终端窗口,然后再次尝试运行"java -version"命令。 4. 如果问题仍然存在,请检查JDK的安装是否正确,并尝试重新安装JDK。 希望这些步骤能够帮助您解决问题。如果您还有其他疑问,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值