如何安装多个jdk并方便切换系统jdk版本

前言

在安装myeclipse时,压缩包中附带1.8.0的jdk,顺便安装并配置环境变量后发现系统默认的jdk变为了1.8.0。随后发现eclipse只支持jdk11及以后的版本,所以决定写下这篇文章记录相关的操作,方便日后查看。

一、安装jdk8和jdk15

jdk8是我之前已经有的版本,而我现在最新的jdk版本就是jdk15,所以就下载的jdk15。

注:为了便于查找,需要将两个jdk都安装在同一个文件夹下

二、配置环境变量

1、准备工作

怎么做(两种方法):

(1)删除[C:\Windows\System32或C:\Program Files (x86)\Common Files\Oracle\Java\javapath或C:\Program Files\Common Files\Oracle\Java\javapath或C:\ProgramData\Oracle\Java\javapath]路径下的java.exe,javaw.exe,javaws.exe文件删除

(2)直接找到系统变量中的Path,编辑,找到上述的地址,将其删除

为什么要这么做:

在windows上安装了多个jdk版本之后,配置完某个版本的环境变量之后,还是不起作用。

原因:因为在安装一个新的版本的jdk时,系统会自动将java.exe,javaw.exe,javaws.exe三个可执行文件复制到了 [C:\Windows\System32或C:\Program Files (x86)\Common Files\Oracle\Java\javapath或C:\Program Files\Common Files\Oracle\Java\javapath或C:\ProgramData\Oracle\Java\javapath]中,由于这个目录在windows中的优先级高于JAVA_HOME设置的环境变量的优先级,所以所设置的环境变量不会起作用。(注:不同的电脑可能会有不同的情况,需要把这些路径都试验过)

2、在系统变量中设置CLASSPATH变量,新建变量值如下

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3、在系统变量里面找到Path选中,编辑,在最前面加入以下变量值

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

4、在系统变量中添加三个JAVA_HOME变量

变量 路径 说明
JAVA_HOME %JAVA_HOME15(或8)% 所对应的数字就是版本序号
JAVA_HOME15 版本15对应的路径 依照所安装的版本为准(例:D:\jdk\jdk1.8.0_20)
JAVA_HOME8 版本8对应的路径 依照所安装的版本为准(例:D:\jdk\jdk15.0.2)

三、如何切换各不同的版本

只需要将系统变量中%JAVA_HOME15%中的15改为已有的其他版本序号即可

四、如何检验jdk版本是否切换成功

win+R键打开命令窗口,输入java -version,回车查看现在的jdk版本

再输入javac -version,观察是否与java -version对应的版本是否相同,如果不同,应该还是准备工作的问题

注意:在更改完jdk版本之后,需要关闭命令行窗口,然后再次打开进行验证

如何安装多个jdk并方便切换系统jdk版本的更多相关文章

  1. 详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本(转)

    原文:https://www.jb51.net/article/156927.htm

  2. mac python 切换系统默认版本

    1 找到所安装python路径/usr/local/Cellar/python/2.7.13/bin2 vim ~/.bash_profile 3 添加如下代码: PATH="/usr/lo ...

  3. Windows系统JDK安装配置

    JDK和JRE的安装 打开java的官方网站,下载安装程序,版本根据自己情况选择: 双击安装程序: 点击"下一步": 此处推荐默认路径安装,如果自定义安装目录,则需记住自定义的安装 ...

  4. 自动配置/切换/查看JDK环境变量

    最近老是需要几个版本的JDK切换工作,于是网上收集资料整理,自己写了一个:自动配置/切换/查看JDK环境变量的批处理脚本.顺带3个JDK版本分别是:jdk1.6.0_43,jdk1.7.0_80,jd ...

  5. 关于win10系统1709版本安装JDK出现变量配置正确但仍有“java不是内部或外部命令”的解决办法

    背景:联想拯救者R720笔记本,系统一键还原了,需要重新安装一部分软件,最基本的就是JDK,但今天在安装时遇到了问题,之前安装的1.8版本,没有仔细配置环境变量,这一次安装的是1.7版本的,仔仔细细配 ...

  6. Nginx+keepalived 脚本安装主从双机热备自动切换解决方案

    Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...

  7. svn服务端安装、迁移教程、Eclipse切换svn连接库

    svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...

  8. 沉淀,再出发——安装windows10和ubuntu kylin15.04双系统心得体会

    安装windows10和ubuntu kylin15.04双系统心得体会 一.安装次序      很简单,两种安装次序,"先安装windows后安装linux:先安装linux后安装wind ...

  9. 【Redis】安装 Redis接口时异常 ,系统ruby版本过低

    场景 操作系统Linux CentOS 7.2,安装Redis接口时,使用命令:gem install redis ,用于系统ruby版本过低,报错“redis requires Ruby versi ...

随机推荐

  1. 利用Vue实现一个简单的购物车功能

    开始学习Vue的小白,dalao多多指正 想要实现下面这个界面,包含总价计算.数量增加和移除功能 话不多说代码如下 <!DOCTYPE html> <html> <hea ...

  2. PhpStorm/WebStorm实用技巧

    我常用的IDE设置和功能 1) 使用IDE管理远程主机 Tools -> Deployment -> Browse Remote Host 其中功能十分强大 自己去探索 关键提示: 手动/ ...

  3. 专家动态页面的实现——php基于CI框架的学习(二)

    以下是本次学习的页面 打开相关文件,整个定义了一个Expert类 class Expert extends CI_Controller{} 在Expert类里定义了几个参数以及说明其使用了哪些mode ...

  4. [Fundamental of Power Electronics]-PART II-7. 交流等效电路建模-7.2 基本交流建模方法

    7.2 基本交流建模方法 在本节中,PWM变换器的交流小信号模型导出步骤将被推导和解释.关键步骤是:(a)利用小纹波近似的动态版本,建立了与电感和电容波形的低频平均值相关的方程式,(b)平均方程的扰动 ...

  5. ASP.NET Core中使用令牌桶限流

    在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量. 比如限流每秒100次请求,绝大多数的时间里都不会超过这个数,但是偶尔某 ...

  6. Leedcode算法专题训练(排序)

    排序 快速排序 用于求解 Kth Element 问题,也就是第 K 个元素的问题. 可以使用快速排序的 partition() 进行实现.需要先打乱数组,否则最坏情况下时间复杂度为 O(N2). 堆 ...

  7. Printer Queue UVA - 12100

    The only printer in the computer science students' union is experiencing an extremely heavy workload ...

  8. 【故障公告】数据库服务器 CPU 100% 引发网站故障

    悄悄地它又突然来了 -- 数据库服务器 CPU 100% 问题,上次光临时间是 3-30 8:48,这次是 4-28 9:41. 这次我们做出了快速反应,发现后立即进行主备切换,这次一次切换成功,CP ...

  9. OOP-面向对象(二)

    面向对象三大特征: 封装 继承 多态 -封装:对类中成员属性和方法的保护,控制外界对内部成员的访问,修改,删除等操作 私有的: private 在本类内部可以访问,类的外部不可以访问.(python中 ...

  10. 判断post,ajax,get请求的方法

    判断post,ajax,get请求的方法 define('IS_GET',isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] ...