Windows管理多个java版本--解决'has value '1.8',but'1.7' is required'的方法

每个老师要求的版本都不同,电脑安装过好几个jdk,今天破解myeclipse时注册机报错,提示jdk版本不对,一气之下把所有jdk都卸载了,重新安装后用cmd检验安装完成时又报了这个错误,最后按照这篇博文中的方法替换文件,问题解决。

原文链接:https://blog.csdn.net/manerfan/article/details/48492809

 

公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but’1.7’ is required’的错误,在控制台使用java -version进行查询发现,依然会报’has value ‘1.8’,but’1.7’ is required’的错误,如下

  C:>java -version
  Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’
  has value ‘1.8’, but ‘1.7’ is required.
  Error: could not find java.dll
  Error: Could not find Java SE Runtime Environment.

这里,环境变量中只配置了1.7,并没有对1.8配置任何环境变量值。
经过一段时间的摸索,经如下几步修改,即可将系统默认jdk恢复到1.7:

修改注册表
打开HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
分别修改Java Development kit及Java Runtime Environment中的CurrentVersion值为1.7
注册表
 
替换文件
将%JAVA7_HOME%\bin里的 java.exe javaw.exe javaws.exe 复制到 C:\Windows/System32 及 C:\Windows\SysWOW64 并替换原有文件,将上述三个文件的快捷方式复制到 C:\ProgramData\Oracle\Java\javapath 并替换原有文件

执行java -version进行验证

  C:>java -version
  java version “1.7.0_25”
  Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
  Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

重新启动eclipse,一切恢复正常
 
 
posted @ 2020-05-07 14:38  一个圆球  阅读(817)  评论(0编辑  收藏  举报