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

公司考虑到代码的可持续维护性,要求全部使用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’的错误,如下

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

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

1、修改注册表

打开HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft 
分别修改Java Development kit及Java Runtime Environment中的CurrentVersion值为1.7

2、替换文件

将%JAVA7_HOME%\bin里的 java.exe javaw.exe javaws.exe 复制到 C:\Windows/System32 及 C:\Windows\SysWOW64 并替换原有文件,将上述三个文件的快捷方式复制到 C:\ProgramData\Oracle\Java\javapath 并替换原有文件

如果不替换文件会出现以下问题、;

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.

3、执行java -version进行验证

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

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

时间: 2024-10-13 04:18:52

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

修改mac中mvn 的 java 版本

在mac 中可以使用jenv 管理 jdk 的多个版本. 但是,jenv 不能管理mvn的java 版本. 方法是:创建一个mvn的脚本 add the following to your ~/.mavenrc: 1. vi ~/.mavenrc 2. add the following sentence in the ~/.mavenrc file. export JAVA_HOME=/Library/Java/JavaVirtualMachines/{jdk-version}/Content

mac 上使用jenv 管理的多个java 版本

由于服务器是java1.7, mac上是1.8,因此mac编译的java代码会在服务器上报错.因此,需要修改mac上java版本,自己折腾了很久,放弃,决定使用jenv 管理! 结果是非常方便 使用步骤: 1.安装 jenv 2.安装各个版本的java 3.设置java路径 4.关闭控制台,重新打开(restart a new console after adding configuring the jenv) 5. jenv local ***** (记住这个命令,经常使用.前面的步骤都是一劳

Mac OS系统如何配置环境变量? 如何管理多个Java JDK版本?

首先,是对 MAC OS 配置环境变量的路径和配置文件的相关介绍~ 1. 要清楚什么是根目录?什么是用户主目录?这两者是完全不一样的! " / " : 根目录 " ~ " : 用户主目录 cd / : 跳转到根目录 -> / cd ~/: 跳转到用户主目录 -> /Users/你的用户名 2. MacOS配置环境变量的文件有6个(按照加载顺序排序) 1)系统级环境变量(/etc) 1) /etc/profile : 全局(公有)配置, 建议不修改这个文件

解决N个人过桥时间最短问题(Java版本)

[问题描述] n个人要晚上过桥,在任何时候最多两个人一组过桥,每组要有一只手电筒.在这n个人中只有一个手电筒能用,因此要安排以某种往返的方式来返还手电筒,使更多的人可以过桥.   注意:每个人的过桥速度不同,每组的速度由过桥最慢的人所用的时间决定,约定n<=1000,并且没有人的过桥时间会超过100秒. [输入] 输入的第一行给出n, 接下来的n行给出每个人的过桥时间,不会超过1000人,且没有人的过桥时间会超过100秒. 4 1 2 5 10 [输出] 输出的第一行给出所有n个人过桥的总的秒数

修改JAVA_HOME无效,java版本保持不变的问题解决

博客分类: 经典异常解决 修改JAVA_HOME无效无法修改JAVA版本 问题现象: 在现公司,遇到一个问题,就是配置JAVA_HOME无效,不管怎么改,运行java -version始终是最初的那个java版本.直接在PATH环境变量里追加写死的java路径也没用. 解决过程: 曾经在一个人机器上发现此问题,然后又在两个机器上发现同样的问题,于是我迷茫了. 接着冷静下来想想,在以前的地方从未遇到过这种情况,在现公司三个机器都遇到同样的情况,那么,很有可能就是因为现公司的系统的环境问题,或许是因

java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3)

概述 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任. 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内容泄漏和内存溢出错误,看起来由JVM管理内存一切都很美好.不过,也正是因为Java程序员把内存控制的

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java  操作注册表 2 3.1. 使用Preferences API (限定访问路径了) 2 3.2. 使用JNI 3 3.3. Jregistrykey 推荐 4 3.4. Jregistry 4 4. org.openqa.selenium.os.WindowsUtils 4 4.1. 以及进程管理 4 1. 注册表是树形数据库 树形数据库,但不提供类似S

hadoop集群配置和在windows系统上运用java操作hdfs

安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.1/ sudo apt-get install ssh sudo apt-get install rsync mkdir /usr/local/hadoop tar -zxvf hadoop-3.1.1.tar.gz -C

DevExpress使用的过期版本解决方法

Windows控件确实有点丑,一般刚学习VS编程或者临时创建测试程序时才会使用:第三方控件,增强了一些功能,美化了控件,现在比较流行:再高级一点,就是使用WPF,看效果还不错,估计以后会成为C/S的主流. .NET 桌面的第三方控件比较多,其中有代表性有DevExpress使用的过期版本解决方法