配置jdk多版本时,我手动修改了注册表后报错 Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers
注册表信息是我们安装jdk可执行程序时自动生成的注册信息,最好不要随便修改,改了最好还原回去,不一定是这里的问题。
我们一步步来看现象:
我有一个免安装的jdk1.7的文件夹,一台刚装好win10系统电脑,开启电脑cmd窗口,运行java -version,不能执行,不是内部命令,说明没有任何一个路径可以找到java命令。
图片.png
好的,我们继续
此时我们查看一下环境变量里有些什么,只看系统变量里的path。
发现都与jdk配置无关,有关jdk的配置我什么都没做,那么接下来我们看看我的免安装的jdk1.7文件,路径为D:\software\jdk1.7.0_17。
图片.png
好的,我们在环境变量path里面给他配置一下,依次确定点下去(一定要点击所有几个确定)。
图片.png
打开cmd窗口输入java -version命令(一定要重启一下cmd窗口)
图片.png
说明我们能找到jdk路径了,配置好了。
此时我们在看看注册表里有什么东东!
win+R 输入regedit 找到HKEY_LOCAL_MACHINE\SOFTWARE下面的选项,发现没有任何有关java的注册信息。
图片.png
再看看C:\Windows\System32的路径下没有任何有关java开头的文件。
图片.png所以配置jdk环境就是这么简单?
那么回过头来,我们再把jdkpath故意改错试试看。
图片.png
此时就又不能访问了
图片.png
有的人说他的jdk把环境变量全部删掉依然能找到java -version命令,好奇怪啊!那么接下来我们试着安装一下jdk1.8看看。
这个安装相信都会吧,我安装到D:\java\JDK8
jre随便你装不装,因为jdk里包含jre
图片.png
装好后的jdk1.8
图片.png 图片.png
此时趁热我们尝尝鲜,cmd运行java -version走你
图片.png
我们就找到了jdk1.8,我还没有配置环境变量,咋就能访问了呢?
但是运行javac却不行。
图片.png
我们再来看看环境变量里面有什么猫腻。我去!多了一个这玩意儿。
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
图片.png
访问看看 是这样滴,果然没有javac
图片.png
那我不配置或者故意配置错看你能不能找到
图片.png
果然找不到了
图片.png
现在我们把jdk配置成1.8
图片.png
完美找到1.8版本
图片.png
那么换成jdk1.7玩一下,把jdk1.8路径改错
图片.png
好的,找到了jdk1.7这样就完美切换了
图片.png
最后看看,jdk1.8这种应用程序安装方式,首先我们发现它会默认修改环境变量,而且注册表也会发生变化。但是貌似不影响我们切换jdk版本。
图片.png
这里有个小坑,我的win10配置环境变量本来是显示这样的
image.png
当我把 %JAVA_HOME%\bin放在最上面第一位置时,“有时”会变成这种编辑方式,原因是%放在开头导致的,把它挪一下位置就可以了。
image.png image.png
如果cmd总是显示找不到命令或者不是内部命令,建议好好检查一下你的 %JAVA_HOME%配置的路径是否正确,或者可以放弃配置JAVA_HOME,直接写入路径D:\java\JDK7\bin,因为配置JAVA_HOME是方便管理和替换复用路径,但是配置的数目不多直接修改也很方便。
image.png好吧,我就是因为写错了,才去改那些注册表啊什么的,跳到自己挖的坑。
网友评论