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

不同jdk版本间的替换

假设安装了 JDK 21 后,发现电脑有兼容性问题或其他原因需要切换回 JDK 8,替换过程很简单。你只需卸载 JDK 21 或者让系统使用 JDK 8。以下是详细步骤:

1. 卸载 JDK 21

https://www.oracle.com/java/technologies/downloads/#java21
如果你想彻底卸载 JDK 21,并使用 JDK 8,可以按以下步骤进行:

1.1 卸载 JDK 21
  1. 打开 控制面板,选择“程序和功能”。
  2. 找到 Java Development Kit 21 或类似的名称。
  3. 选中它并点击 卸载
1.2 安装 JDK 8

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

  1. 双击你已经下载的 jdk-8u411-windows-x64.exe,按照向导提示进行安装。
  2. 安装完成后,确保记住安装路径,通常是 C:\Program Files\Java\jdk1.8.0_411
1.3 设置 JDK 8 为系统的默认 JDK

卸载 JDK 21 后,手动配置环境变量指向 JDK 8。

  • 步骤:
    1. 右键点击“此电脑”或“我的电脑”,选择“属性”。
    2. 点击“高级系统设置”,然后点击“环境变量”。
    3. 在“系统变量”部分,找到 Path,并编辑它。把与 JDK 21 相关的路径(如 C:\Program Files\Java\jdk-21\bin)删除。
    4. 添加 JDK 8 的 bin 目录路径,例如:C:\Program Files\Java\jdk1.8.0_411\bin
    5. 确保 JAVA_HOME 系统变量指向 JDK 8 的安装路径,比如 C:\Program Files\Java\jdk1.8.0_411
    6. 点击“确定”保存设置。
1.4 验证
  1. 打开命令提示符,输入 java -versionjavac -version,确认输出显示的是 JDK 8 的版本信息。

2. 同时安装 JDK 21 和 JDK 8,手动切换

如果你不想卸载 JDK 21,而是希望在两者之间切换,你可以同时安装两个 JDK,并通过修改环境变量来决定使用哪个版本。

2.1 安装 JDK 8
  1. 按照上面的步骤安装 JDK 8。
2.2 设置环境变量来切换 JDK
  1. 当你需要切换到 JDK 8:

    • 在“系统变量”中,将 Path 中 JDK 的路径更改为 JDK 8 的路径(如 C:\Program Files\Java\jdk1.8.0_411\bin)。
    • JAVA_HOME 变量更改为 JDK 8 的安装路径(如 C:\Program Files\Java\jdk1.8.0_411)。
  2. 如果你想切换回 JDK 21,只需重复这个步骤,将路径改回 JDK 21。

2.3 使用 Eclipse 配置多个 JDK
  • 打开 Eclipse,点击 Window > Preferences > Java > Installed JREs
  • 在这里可以添加和选择不同版本的 JDK(如 JDK 8 和 JDK 21)。
  • 当你创建或编辑项目时,可以为每个项目选择不同的 JDK 版本。右键点击项目,选择 Properties > Java Build Path > Libraries > Add Library,选择适当的 JDK。

3. 通过命令行快速切换 JDK

你也可以使用命令行脚本来快速切换 JDK 版本,具体方法如下:

3.1 创建脚本切换 JDK
  1. 创建两个 .bat 文件,一个用于切换到 JDK 8,另一个用于切换到 JDK 21。

    • 切换到 JDK 8 的脚本内容(save as switchToJDK8.bat):

      @echo off
      setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_411"
      setx PATH "%JAVA_HOME%\bin;%PATH%"
      echo Switched to JDK 8
      
    • 切换到 JDK 21 的脚本内容(save as switchToJDK21.bat):

      @echo off
      setx JAVA_HOME "C:\Program Files\Java\jdk-21"
      setx PATH "%JAVA_HOME%\bin;%PATH%"
      echo Switched to JDK 21
      
  2. 双击运行相应的 .bat 文件,就可以快速切换 JDK 版本。


结论:

  1. 想完全替换 JDK 21 为 JDK 8:卸载 JDK 21,安装并配置 JDK 8。
  2. 想保留两者并随时切换:同时安装 JDK 21 和 JDK 8,通过修改环境变量或使用脚本来切换默认 JDK。

如果你有任何问题或需要更多帮助,随时告知!

相关文章:

不同jdk版本间的替换

假设安装了 JDK 21 后,发现电脑有兼容性问题或其他原因需要切换回 JDK 8,替换过程很简单。你只需卸载 JDK 21 或者让系统使用 JDK 8。以下是详细步骤: 1. 卸载 JDK 21 https://www.oracle.com/java/technologies/downloads/#java21 如果你想…...

408算法题leetcode--第28天

84. 柱状图中最大的矩形 题目地址:84. 柱状图中最大的矩形 - 力扣(LeetCode) 题解思路:暴力:每一列记为矩形的高,找左边和右边比他小的位置,得到以该列为高对应的宽;这样最大的矩形…...

【无人机设计与控制】无人机三维路径规划,对比蚁群算法,ACO_Astar_RRT算法

摘要 本文探讨了三种不同的无人机三维路径规划算法,即蚁群算法(ACO)、A算法(Astar)以及快速随机树算法(RRT)。通过仿真实验对比了各算法在不同环境下的性能,包括路径长度、计算效率…...

毕设 大数据电影数据分析与可视化系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要3 最后 0 前言 🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…...

10月7日刷题记录

C C...

苍穹外卖学习笔记(十五)

文章目录 一. 缓存菜品缓存菜品DishController.java清除缓存数据 缓存套餐Spring Cachemaven坐标常用注解 入门案例springcachedemo.sqlpom.xmlapplication.ymlCacheDemoApplication.javaWebMvcConfiguration.javaUserController.javaUser.javaUserMapper.java 套餐管理SkyAppl…...

知识图谱入门——5:Neo4j Desktop安装和使用手册(小白向:Cypher 查询语言:逐步教程!Neo4j 优缺点分析)

Neo4j简介 Neo4j 是一个基于图结构的 NoSQL 数据库,专门用于存储、查询和管理图形数据。它的核心思想是使用节点、关系和属性来描述数据。图数据库非常适合那些需要处理复杂关系的数据集,如社交网络、推荐系统、知识图谱等领域。 与传统的关系型数据库…...

35个数据分析模型

这些数据分析模型覆盖了战略规划、市场营销、运营管理、用户行为、财务分析等多个方面,是企业和组织在进行决策分析时常用的工具。分享给大家,如果想要PDF下载: https://edu.cda.cn/group/4/thread/178782 1、SWOT模型 SWOT模型是一种战略分…...

Java | Leetcode Java题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; class Solution {public boolean circularArrayLoop(int[] nums) {int n nums.length;for (int i 0; i < n; i) {if (nums[i] 0) {continue;}int slow i, fast next(nums, i);// 判断非零且方向相同while (nums[slow] * nums[fast]…...

date:10.4(Content:Mr.Peng)( C language practice)

void reverse(char* p, int len) {char* left p;char* right p len - 2;while (left < right){char* temp left;*left *right;//当*left*right后&#xff0c;*temp已经被改为f了*right *temp;//你再*temp赋值给*right时&#xff0c;已经没用了left;right--;}}int main…...

【K8S系列】Kubernetes 集群中的网络常见面试题

在 Kubernetes 面试中&#xff0c;网络是一个重要的主题。理解 Kubernetes 网络模型、服务发现、网络策略等概念对候选人来说至关重要。以下是一些常见的 Kubernetes 网络面试题及其答案&#xff0c;帮助你准备面试。 1. Kubernetes 的网络模型是什么样的&#xff1f; 问题&am…...

Android 无Bug版 多语言设计方案!

出海业务为什么要做多语言&#xff1f; 1.市场扩大与本地化需求&#xff1a; 通过支持多种语言&#xff0c;出海项目可以触及更广泛的国际用户群体&#xff0c;进而扩大其市场份额。 本地化是吸引国际用户的重要策略之一&#xff0c;而语言本地化是其中的核心。使用用户的母语…...

Nginx02-安装

零、文章目录 Nginx02-安装 1、Nginx官网 Nginx官网地址&#xff1a;http://nginx.org/ 2、Nginx下载 &#xff08;1&#xff09;Nginx下载 下载页地址&#xff1a;http://nginx.org/en/download.html &#xff08;2&#xff09;更老版本下载 下载页地址&#xff1a;http…...

大模型基础架构

Transformer 设计者&#xff1a;Google 特点&#xff1a;最流行&#xff0c;几乎所有大模型都用它 代码&#xff1a;https://github.com/openai/finetune-transformer-lm/blob/master/train.py RWKV 设计者&#xff1a;PENG Bo 特点&#xff1a;可并行训练&#xff0c;推理性…...

MySQL 实验 10:数据查询(3)—— 聚合函数与分组查询

MySQL 实验 10&#xff1a;数据查询&#xff08;3&#xff09;—— 聚合函数与分组查询 目录 MySQL 实验 10&#xff1a;数据查询&#xff08;3&#xff09;—— 聚合函数与分组查询一、聚合函数1、计数函数&#xff08;COUNT&#xff09;2、求和函数&#xff08;SUM&#xff0…...

感知机学习算法

感知机 一、感知机简介二、感知机模型2.1 感知机的基本组成2.2 求和函数2.2.1 时间总合2.2.2 空间总合 2.3 激活函数2.4 学习算法2.4.1 赫布学习规则2.4.2 Delta学习规则 三、 结论参考文献 一、感知机简介 M-P神经元模型因其对生物神经元激发过程的极大简化而成为神经网络研究…...

2024年双十一有什么好物推荐?双十一必买清单大汇总

随着科技的飞速发展&#xff0c;数码产品已成为我们生活中不可或缺的伙伴。2024年双十一购物狂欢节即将来临&#xff0c;众多消费者早已摩拳擦掌&#xff0c;准备在这个年度盛事中淘到心仪的数码好物。在这个信息爆炸的时代&#xff0c;如何从琳琅满目的商品中挑选出性价比高、…...

C语言贪吃蛇

#只讲逻辑不讲一些基础&#xff0c;基础大概过一遍就行# project-one: 无 (gitee.com)仓库里面有原代码 一、基础工作 1、先将你的编译器换成32位环境&#xff0c;也就是x86&#xff0c; 如果是控制台主机窗口则管&#xff0c;若不是需要改为控制台主机窗口 打开运行窗口后点…...

SpringBoot宠物咖啡馆平台:创新设计与高效实现

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于Spring Boot的宠物咖啡馆平台的设计与…...

李宏毅深度学习-梯度下降和Batch Normalization批量归一化

Gradient Descent梯度下降 ▽ -> 梯度gradient -> vector向量 -> 下图中的红色箭头&#xff08;loss等高线的法线方向&#xff09; Tip1: Tuning your learning rates Adaptive Learning Rates自适应lr 通常lr会越来越小 Adaptive Learning Rates中每个参数都给它不…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...