如何安装多个jdk并方便切换系统jdk版本
如何安装多个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版本的更多相关文章
- 详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本(转)
原文:https://www.jb51.net/article/156927.htm
- mac python 切换系统默认版本
1 找到所安装python路径/usr/local/Cellar/python/2.7.13/bin2 vim ~/.bash_profile 3 添加如下代码: PATH="/usr/lo ...
- Windows系统JDK安装配置
JDK和JRE的安装 打开java的官方网站,下载安装程序,版本根据自己情况选择: 双击安装程序: 点击"下一步": 此处推荐默认路径安装,如果自定义安装目录,则需记住自定义的安装 ...
- 自动配置/切换/查看JDK环境变量
最近老是需要几个版本的JDK切换工作,于是网上收集资料整理,自己写了一个:自动配置/切换/查看JDK环境变量的批处理脚本.顺带3个JDK版本分别是:jdk1.6.0_43,jdk1.7.0_80,jd ...
- 关于win10系统1709版本安装JDK出现变量配置正确但仍有“java不是内部或外部命令”的解决办法
背景:联想拯救者R720笔记本,系统一键还原了,需要重新安装一部分软件,最基本的就是JDK,但今天在安装时遇到了问题,之前安装的1.8版本,没有仔细配置环境变量,这一次安装的是1.7版本的,仔仔细细配 ...
- Nginx+keepalived 脚本安装主从双机热备自动切换解决方案
Nginx+keepalived 脚本安装主从双机热备自动切换解决方案 2013-07-02 19:24:13 标签:filesnginx keepalived 原创作品,允许转载,转载时请务必以超链 ...
- svn服务端安装、迁移教程、Eclipse切换svn连接库
svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...
- 沉淀,再出发——安装windows10和ubuntu kylin15.04双系统心得体会
安装windows10和ubuntu kylin15.04双系统心得体会 一.安装次序 很简单,两种安装次序,"先安装windows后安装linux:先安装linux后安装wind ...
- 【Redis】安装 Redis接口时异常 ,系统ruby版本过低
场景 操作系统Linux CentOS 7.2,安装Redis接口时,使用命令:gem install redis ,用于系统ruby版本过低,报错“redis requires Ruby versi ...
随机推荐
- vue全局错误捕获
1.errorHandler Vue全局配置 errorHandler可以进行全局错误收集,捕获全局错误抛出,避免前端页面挂掉 export default function errorHandl ...
- 前端 | JS 任务和微任务:promise 的回调和 setTimeout 的回调到底谁先执行?
首先提一个小问题:运行下面这段 JS 代码后控制台的输出是什么? console.log("script start"); setTimeout(function () { con ...
- 电梯也能无为而治——oo第二单元作业总结
oo第二单元作业总结 一.设计策略与质量分析 第一次作业 设计策略 在第一次作业之前,我首先确定了生产者--消费者模式的大体架构,即由输入线程(可与主线程合并)充当生产者,电梯线程充当消费者,二者不直 ...
- 一文简述Java IO
Java IO 本文记录了在学习Java IO过程中的知识点,用于复习和快速查阅,不够详细的部分可能会在后续补充. 什么是流 流:内存与存储设备(外存)之间传输数据的通道 IO:输入流输出流(如rea ...
- 如何解压从UK biobank下载下来的tsv.bgz文件?
今天碰到一个问题,就是从UK biobank下载下来的gwas result file是filename.tsv.bgz格式.这东西需要解压才能阅历,可是用zip或者rar都是搞不定,网上搜了一圈,说 ...
- Day14_80_反射机制+IO+Propreties动态创建对象
反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该 ...
- 【OO课下讨论】bug中的“二八定律”
bug中的"二八定律" 本文主要为讨论2020/3/17下午OO课讨论的第三个思考题设立 有一个经典的经验性原则,叫帕累托原则,也称为二八定律.这个原则在经济.社会和科技等多个领域 ...
- 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单
先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...
- css单位介绍em ex ch rem vw vh vm cm mm in pt pc px
长度单位主要有以下几种em ex ch rem vw vh vm cm mm in pt pc px %,大概可以分为几种"绝对单位"和"相对单位"和" ...
- DLL注入-APC注入
APC注入 APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下: 1)当EXE里某个线程执行到Sl ...