安装类的bug,请看完整篇文章在做操作
bug背景
- 原本安装jdk的时候已经好了,但是由于想要记录win7安装jdk的时候填写的是写的绝对路径,当时认为这是个坑,所以想记录下来,然后就删除了环境变量中的
JAVA_HOME
和CLASSPATH
,然后用cmd测试的时候发现直接输入java -version
还是可以查看版本,但是查看javac -version
就查看不了
- 然后我就想移动jdk的位置测试一下这个
java -version
的输出,然后就给我报错了这个Error: could not open 'D:\javaWorkplace\jre1.8.0_131\lib\amd64\jvm.cfg'
- 然后用这位兄弟的博文,说是要删除注册表(直接cmd输入regedit就可以打开),删除路径来一波
HKEY_LOCAL_MACHINE->HKEY_LOCAL_MACHINE\SOFTWARE->HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft->HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
,打开如下图所示,刚刚好和最初的报错路径一致,然后我就把所有的jdk都删除
-
删除1.8和1.8.0.131之后,重启电脑再做一个测试,然后发现还是可以,然后我就把JavaSoft整个都删除兵重启了电脑,结果出现这个错误
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
,找了一下原因,找到这个兄弟的一片文章,结果还真的在Windows\SysWOW64文件夹下找到了这3个文件:java.exe, javaw.exe and javaws.exe
,说是删除就可以了 -
然后我删除了,发现依旧是同样的报错,我就意识到了javasoft似乎删除的有点问题,然后再次查询误删javasoft的解决办法,说是删除了上面的3个文件和注册表里面的javaSoft就相当于卸载了jdk,然后我现在打算再次安装一下
-
重新安装后出现了久违的错误
'java' 不是内部或外部命令,也不是可运行的程序
-
那么现在就可以来测试安装的情况了
-
在系统变量里面有以下需要设置的
JAVA_HOME:D:\javaWorkplace\jdk_8.0.131(也就是jdk的安装目录)
CLASSPATH: .;%JAVA_HOME%\bin\dt.jar;%JAVA_HOME%\bin\tools.jar
,这个前面的分号记得要带上
path:在path后面加上;%JAVA_HOME%\bin
详细操作如下
配置环境变量
-
找到环境变量,点击系统变量下的新建
JAVA_HOME
,
-
在系统变量下新建
CLASSPATH
-
系统变量找找到path,在后面加上
;%JAVA_HOME%\bin
,这里的分号;
一定不能掉;当然如果你发现在这个变量值的框框里面的最后一个符号是分号;
的话,那就直接在后面跟上%JAVA_HOME%\bin
。
win7 的path里面的分号主要是为了将不同的环境变量区分开
- 然后一路确认返回即可
测试环境
java -version
,查看java版本javac -verson
,查看javac的版本
出现javac不是内部命令
的错误
- 如果出现
javac不是内部命令
的错误,请将上面的所有的path和CLASSPATH中的JAVA_HOME
替换成绝对路径,也就是jdk的安装路径