场景
更新jdk1.7.0_15到jdk1.8.0_161。修改环境变量指向下载的安装包之后,执行java指令,提示如下:
C:\Users\admin>java -version
Error: could not open `C:\Program Files\Java\jre7\lib\amd64\jvm.cfg'
原因
之前采用的是jdk1.7.0_15.msi进行jdk的安装,在安装时会把java命令放到C:/windows/system32目录下(此目录并不是指jdk的安装路径),所以会发现在C:/windows/system32路径下,会有java.exe 、javaw.exe、javaws.exe三个可执行程序。按照环境变量的搜索优先级,先在当前目录下找,再在系统变量中的path中先后查找,而C:/windows/system32在path中是最新被执行的,在后面的%JAVA_HOME%\bin没有机会被执行到,所以就会出现上面的错误。将%JAVA_HOME%\bin提前到%JAVA_HOME%\bin之前可以解决问题。
解决
删除c:/windows/system32/目录下的java.exe 、javaw.exe、javaws.exe
添加系统变量 JAVA_HOME : C:\Program Files\Java\jdk1.8.0_161
添加系统变量 classpath : .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
path追加 %JAVA_HOME%\bin
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。