1. 准备工作

下载jdk:

jdk1.7【http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html】

jdk1.8【https://pan.baidu.com/s/1nv668Mt】

【安装在/programefile/下面就是64位java,安装在/programfile(x86)/下就是32位】

2. 配置环境变量

①分别创建<JAVA_HOME_1.7>和<JAVA_HOME_1.8> 变量名和值。

CLASSPATH中添加<%JAVA_HOME_1.7%\lib;%JAVA_HOME_1.7%\lib\tools.jar;%JAVA_HOME_1.7%\lib\dt.jar;>

PATH中添加<%JAVA_HOME_1.7%\bin;%JAVA_HOME_1.7%\jre\bin;>

② 检验是否配置成功

运行cmd 输入 java -version 查看版本显示。

若如图所示 显示版本信息 则说明安装和配置成功。

以上,一个新的jdk即安装成功,虽然电脑可以安装多个jdk,但是使用时只能使用一个,因为要配置jdk的环境变量,它的值只能配置一个,或者配置多个以分号隔开,但只会读取最后一个jdk路径。

3. 切换不同的java版本

现在电脑配置jdk为1.7,那么如果要使用jdk1.8时,需要将系统变量CLASSPATHPATH中<1.7>替换为<1.8>即可。

切换完成后,通过cmd ---> java -version 查看版本

问题汇总:

问题1:JAVA_HOME从jdk 1.8变到jdk 1.7错误:Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersi

改了JAVA_HOME,并且path值里的C:\ProgramData\Oracle\Java\javapath 也删了 
运行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. 打开开始菜单,搜索regedit,打开注册表

2. 打开”HKEY_LOCAL_MACHINE”

3. 点击”SOFTWARE”

4. 点击”JavaSoft”

5. 点击”Java Runtime Environment”

6. 选中”CurrentVersion” ,右键点击更改,改成”1.7”

7. 删除<C:\ProgramData\Oracle\Java\javapath>以及<C:\Windows\System32>下的java.exe 文件。

8. 重新验证java -version,版本显示正确

问题2:

jdk 1.8切换到jdk 1.7后,依然显示为 jdk 1.8版本

解决:

1.  删除<C:\ProgramData\Oracle\Java\javapath>以及<C:\Windows\System32>下的java.exe、javaw.exe、javaws.exe 文件;

2.  将jdk 1.8中的3个文件,复制到以上两个目录下

3.  cmd ---> java -version ,版本显示正确

Windows7 配置两个版本的java环境,可自由切换的更多相关文章

  1. windows下 两个版本的JDK环境变量进行切换 MARK

    我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,为了简化操作,我们可以通过批处理文件来完成环境变量切换的任务.使用方法:阅读代码我们就会 ...

  2. SSD Cloud Hosting - Linode的配置和部署,搭建Java环境

    0.发牢骚 前一个月在淘宝购买了个Jsp空间,挺便宜的,才38元/年.部署了程序,然后ALIMAMA验证网站,一直提示验证失败.最后找卖家,他说可能是因为空间太慢,照他的推荐换了最好的空间,138元/ ...

  3. java运行机制、Jdk版本及Java环境变量

    一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...

  4. iOS - swift项目接入bugly - 报错, 配置符号表,下载Java环境,

    1.pod 安装,无需配置任何东西 2.终端找到路径: pod install 3.在 appdelegate 导入  import Bugly extension AppDelegate{ /// ...

  5. JENKINS里,如何为SLAVE配置多个不同的JAVA环境?

    今天遇到这个问题了, 原来在MASTER配置里可以统一管理的,不管这个路径有没有在MASTER上. 这样一来,JENKINS在编译时,会优先选用环境变量里的JAVA版本,然后才是MAVEN里的JAVA ...

  6. windows7配置python和django的开发环境

    直接上图,这是我在我的电脑配置windows7python和django开发环境的所有用到的软件 要求不高,只需要这几个软件的版本相一致就行, 需要注意的是软件安装时需要统一是32位或者64位的软件, ...

  7. Mariadb 10.2.8版本GTID主从环境搭建以及切换

    1.首先搭建主从 主环境:192.168.1.117 从环境:192.168.1.123 a.首先以二进制包的形式安装好MariaDB (忽略不计) b.配置环境的变量 通配 [mysqld] bin ...

  8. 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)

    原文网址:http://my.oschina.net/HalZf/blog/347351 总要记录下过程,不然老是会忘记掉-真老了.-_-! 一.配置安装ubuntu 64位java环境: 1.下载l ...

  9. 编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

    编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6 ...

随机推荐

  1. Exception thrown in catch and finally clause

    Based on reading your answer and seeing how you likely came up with it, I believe you think an " ...

  2. 固态硬盘(Solid State Drives)

    固态硬盘(Solid State Drives) 学习了:https://baike.baidu.com/item/%E5%9B%BA%E6%80%81%E7%A1%AC%E7%9B%98/45351 ...

  3. Java三大器之拦截器(Interceptor)的实现原理及代码示例

    1,拦截器的概念    java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...

  4. Mybaits的特点及优点

    1.SQL语句和代码分离 便于统一管理和维护,不必再Java代码中调式SQL语句.但是当SQL语句出错时,控制台不会打印Log, 解决办法--引用log4j 2.用标签拼接SQL语句 用标签代替JAV ...

  5. VM虚拟机 Windows虚拟机中linux鼠标不能动怎么办

    有一次vmware安装red hat linux后,进入x-windows界面,鼠标不能用,百思不得其解,因为自己的安装linux的过程中设置绝对是没有问题的啊,鼠标设置肯定是usb带滑轮,这个肯定没 ...

  6. vue笔记四

    十一.过渡与动画 1.使用限制Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加 entering/leaving 过渡条件渲染 (使用 v-if)条件展示 (使 ...

  7. ubuntu+let's encrypt生成永久免费https证书 ubuntu+tomcat+nginx+let's encrypt

    1. 下载let's encrypt $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-ge ...

  8. EasyUI datagrid 过滤事件段

    //dateTimeRange过滤扩展 $.extend($.fn.datagrid.defaults.filters, { dateRange: { /*onInit: function(targe ...

  9. shell脚本通过ping命令来获取平均延时

    #!/bin/bash #设置环境变量 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin" exp ...

  10. Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭

    我们知道.APP在设计上习惯性的把返回button放在屏幕的左上角,那么,在非常多时候(尤其是大屏幕手机),操作改返回button,就会有诸多不便了.为了更加方便实现"返回"功能. ...