当前位置: 首页 > news >正文

多个JDK版本之间的切换

首先电脑上可以同时安装多个版本的 JDK(Java Development Kit),因为不同的应用程序可能需要不同 Java 版本的支持,安装多个 JDK 版本并不会导致冲突,只要设置好即可,在不同的情况下切换不同的jdk版本保证程序正常工作

很多程序jdk8 已经不支持,所以下载更高版本的jdk是很有必要的,但是jdk8 又没有必要删除,拥有多个JDK版本也就更加方便,可以根据不同的场景切换不同的JDK版本保证正常工作

JDK下载:

jdk下载可以去官网或者找一下网盘分享,很容易获取,都是免费的,只是官网下载页面有时候会没反应

官网地址 Java Downloads | Oracle 中国  

最上面是最新版本的jdk,下拉即可找到经典的比较稳定的jdk 8 11 17 版本,选择windows下载即可

JDK版本切换

切换jdk版本是很简单的,只需要在环境变量设置要使用的版本即可

只是有些设置不到位会导致切换没生效,下面会介绍

我主机里有三个JDK版本 jdk8 jdk11 jdk17

先在cmd命令行输入java -version 和 javac -version 查看版本

  • java -version 显示的是 Java 运行时环境的版本信息,包括 JVM 和 JRE 的详细版本
  • javac -version 显示的是 Java 编译器的版本信息

输入这两个是因为有时候java 和 javac的版本会不一致导致一些问题,所以检查一下

我当前使用的是jdk11,假如要切换到jdk17,     打开 设置 - 系统 -系统信息 - 高级系统设置 - 环境变量

选择系统变量,jdk的环境变量名是  JAVA_HOME  变量值就是下载的jdk版本路径,我的是E:\jdk11

只需要把jdk11的目录换成jdk17 目录即可  我这里是E:\jdk17

 验证一下,重新打开一次cmd命令行

同理,我想从jdk17 切换成jdk8 一样的操作

设置没有生效的解决方法 (改变系统变量中JAVA_HOME的顺序)

如果改了环境变量依然没有生效,排除jdk目录设置错误的情况,很可能还是环境变量设置的问题

可以先找到自己主机中跟jdk环境变量有关的内容

以我最初设置失败的环境变量为例,这是我用户变量中PATH变量的内容,有一个jdk的bin路径

系统变量中除了JAVA_HOME 之外,也有一个PATH变量

里面最上面有两个java的路径,是java的系统变量,所以我的主机总共有三个跟jdk有关的环境变量

这种情况下如果从jdk17 切换到 jdk11 或者 jdk8 就不会生效

例如这里我要从jdk17 切换为 jdk8  修改系统变量中的JAVA_HOME 之后,重新打开命令行验证发现失败了

命令行输入     where java

可以看到确实变成了jdk8的目录,但是这个路径排在了第二位,导致没有使用这个版本,而是使用了上面第一个版本,也就是上面图片中系统变量中PATH变量的第一个路径

解决方法就是在系统变量的PATH变量中把JDK环境变量放到第一位,保证优先级高于上面的第一个路径

如果PATH中没有JDK的环境变量,像我上面演示的这样,只需新建一个  %JAVA_HOME%\bin  即可

然后上移到第一行

再输入where java    看到已经改变了顺序

到这就解决了,以后再切换的时候就可以随便切换了


http://www.mrgr.cn/news/63975.html

相关文章:

  • kafka搭建
  • NLP 技术的突破与未来:从词嵌入到 Transformer
  • 雷达的分类
  • 注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
  • Opencv图片的旋转和图片的模板匹配
  • Openlayers零基础教程【7】geojson实现线要素和区要素
  • LeetCode 3226.使两个整数相等的位更改次数:位运算(接近O(1)的做法)
  • 基于现代 C++17 的模块化视频质量诊断处理流程优化设计
  • 【Window】无法登录G**gle解决方案
  • fastboot命令大全
  • liunx系统介绍
  • React第十三章(useTransition)
  • 【C++动态规划 01背包】1049. 最后一块石头的重量 II|2092
  • 矩阵的奇异值分解SVD
  • C++【string的模拟实现】
  • C语言学习,标准库 <stdarg.h>
  • World of Warcraft [CLASSIC][80][the Ulduar] BOSS 08 09 10 11
  • codeblocks-20.03mingw-setup.exe安装教程
  • “微软蓝屏”事件暴露了网络安全哪些问题?
  • 基于javase 的超市收银管理系统
  • 使用 OpenCV 在 Python 中绘制基本图形
  • 全国高校计算机能力挑战赛 Python
  • flutter ios ffi 调试 .a文件 debug可以 release 不行
  • RabbitMQ最全教程-Part2(高阶使用)
  • 嵌入式Linux系统中GPIO实验详解
  • vscode markdown-image 图片粘贴自动上传到本地目录设置