问题背景:
最近在开始学习SpringBoot,SpringBoot对于JDK和maven是有要求的,要求JDK版本必须要在jdk1.8以上,maven版本在3.5以上。
虽然博主还是一个底层的计算机小白,但是自己用的是什么版本的jdk还是清楚的。但本着万无一失的严谨精神,博主还是打开了cmd,输入了java -version。结果却是这样的…
还是比较懵逼的
问题解决:
检查过了自己系统环境变量,没有问题。
网上搜了一圈,发现和我有相同问题的朋友们还不少,解决方法也有几种,我这里大致罗列整理了一下。
方法一:
在cmd窗口中输入set path="%JAVA_HOME%\bin",再输入java命令。
这个方案确实可行,不过麻烦的是每一次进入cmd窗口就要重新输入一次,只能说是治标不治本。
方法二:
不得不说大佬真的太多了,第二种解决方案就是从大佬那里看到的。找到C盘下的javapath文件夹并删除即可(小白震惊!)。
本人win10,javapath文件夹位置和那位大佬说的不一样,所以我在jdk的安装目录检索了一遍,没找到,再到C盘检索了一遍。发现了这个文件夹,如下图所示,大家可以参考一下这个路径。
删除javapath文件夹后,再次打开cmd窗口运行java命令发现已经恢复了。
原因分析:
这就让我纳闷了,这javapath文件夹到底是何方神圣,竟然可以干扰java命令的执行,赶紧打开看看。
好眼熟啊,这里有4个exe文件,前两个不就是我们用的最多的java和javac命令嘛。那后面两个又是干嘛的呢?
博主上网找了点资料,总结下来就是:
javaw.exe大多用来运行GUI程序。
jshell是java的一个交互式编程环境,感觉类似于python的idle界面。
CSDN中的相关文章:
浅谈javaw.exe的作用
java.exe,javac.exe,javaw.exe,jar,javadoc 区别
Java9特性预览——Jshell
总结:
到这里呢,问题已经成功解决了,也了解到了一些关于jdk的小知识,希望对各位遇到同样问题的读者能够有所帮助,大家一起进步吧。
千里崎岖不辞苦,
仗剑江湖为红颜