Linux系统卸载重装JDK

news2024/9/25 3:27:18

CentOS 系统是开发者常用的 Linux 操作系统,安装它时会默认安装自带的旧版本的 OpenJDK,但在开发者平时开发 Java 项目时还是需要完整的 JDK,所以我们部署 CentOS 开发环境时,需要先卸载系统自带的 OpenJDK,再重新安装我们需要的 JDK 版本。这里以 CentOS7 为例,介绍 CentOS 系统卸载并重装 JDK 的完整流程。


一、卸载系统自带的OpenJDK

在卸载系统自带的OpenJDK过程中,通过查看已安装的JDK包,我们可以确保清理系统中旧版本的Java,为新版本的安装创造一个干净的环境。

查看 CentOS 自带的 OpenJDK 版本命令:

java -version

查看已经安装的 JDK 包:

rpm -qa | grep java

终端返回已经安装的包如下:

javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.262-3.b10-1.el7.x86_64
tzdata-java-2020a-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64

删除这些包:
(删除过程中使用 --nodeps 选项可强制删除,但需谨慎操作,确保不会影响其他系统依赖。)

rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262-3.b10-1.el7.x86_64
rpm -e --nodeps tzdata-java-2020a-1.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64

删除完成后再次查看安装的 Java 版本,此时应该为空。

java -version


二、下载并安装新版本JDK

我先在 /usr/ 目录下创建了一个 java 文件夹作为 Java 安装的地址,然后我们切换路径到新建的 java 文件夹下面。

mkdir /usr/java #在/usr/目录下创建名为java的文件夹
cd /usr/java/ #切换终端的操作目录到/usr/java/路径下

我们需要通过从 Oracle 官网或其他信任来源下载 JDK 的最新版本,并解压安装。确保路径和版本号的准确性。

我们先访问Oracle官网:https://www.oracle.com/java/technologies/downloads/,找到我们要下载的版本。

然后,我们复制下载链接(我复制的是https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz)。

返回终端 "wget+复制的链接" 下载。

wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz

下载完成后解压:

tar -zxvf jdk-8u341-linux-x64.tar.gz


三、配置Java环境变量

我们下载的是免安装版本,解压即可用,只需要配置一些环境变量。

环境变量在 /etc/ 下的 .profile 文件的末尾设置,我们打开 .profile 文件。

vim /etc/profile #打开/etc/目录下的profile文件

将控制变量语句粘贴到 profile 的文件末尾。

export JAVA_HOME=/usr/java/jdk-18.0.2.1 #这里填写自己安装的java路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

 

接着,我们要让刚刚设置的环境变量生效,键入:

source /etc/profile

这样环境变量就配置好了。


四、验证新的JDK是否安装成功

我们输入:

java -version

再次验证 Java 版本。

发现已经是我们最新安装的版本了,CentOS 重装 JDK 成功。
这样,新的JDK已成功配置到系统中,确保了系统的Java环境是最新且干净的。

完成 Linux 系统上 JDK 的重新安装是一项关键性任务。在这一过程中,我们一起进行了下载最新版本的 JDK、解压缩文件、配置环境变量的步骤,确保系统具备了最新的 Java 环境。这包括删除旧版本、安装新版本以及更新环境变量,以确保系统能够正确识别和运行新的 Java 开发工具包。通过这次共同的努力,我们成功地提高了系统对最新 Java 功能的支持,为应用程序的性能和兼容性注入了新的活力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1430228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《国色芳华》爆红网络,杨紫的“唐妆”惊艳四座。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在中国的电视剧市场近几年的趋势中,仙侠剧的热度逐…

real-time-emotion-detection 排坑记录

real-time-emotion-detection 排坑记录 任务踩坑回顾CV2包版本问题症状描述解决方法 模型文件路径问题症状描述解决办法 tensorflow版本问题症状描述解决办法 其他 任务 我之前跑了一个CNN情绪识别的开源代码,现在我想尝试把他用到我的另一个项目里。但当时那个项目…

lava学习-多态-final-抽象类

一.多态 1.什么是多态? 现象:对象多态:比如说一个人 类,他可以是一个老师,也可以是一个同学 行为多态:多个对象同一类行为的不同表现形式,比如两个人,一个人跑得快,另一个…

1895_分离进程的能力

1895_分离进程的能力 全部学习汇总: g_unix: UNIX系统学习笔记 (gitee.com) 有些理念可能在控制类的嵌入式系统中不好实施,尤其是没有unix这样的系统搭载的情况下。如果是考虑在RTOS的基础上看是否有一些理念可以做尝试,我觉得还是可以有一定…

Unity C#高级特性 Partial 详细使用案例

文章目录 实例 1:分隔UI逻辑实例 2:Unity编辑器自动生成代码实例 3:数据模型分割实例 4:序列化扩展实例 5:多视图架构实例 6:Unity编辑器自定义 inspectors 在Unity中,部分类(Partia…

java基础:带参数的成员方法

上一篇博客中的成员方法是无参的,但成员方法其实是可以有参数的,可以增加代码的灵活性和健壮性。 本文以带一个参数的成员方法和带2个参数的成员方法为案例,加深对知识点的理解。 第一个成员方法(带一个参数)&#xf…

UE4学习笔记 FPS游戏制作2 制作第一人称控制器

文章目录 章节目标前置概念Rotator与Vector:roll与yaw与pitch 添加按键输入蓝图结构区域1区域2区域3区域4 章节目标 本章节将实现FPS基础移动 前置概念 Rotator与Vector: Vector是用向量表示方向,UE中玩家的正前方是本地坐标系的(1,0,0)&…

定义HarmonyOS IDL接口

HarmonyOS IDL简介 HarmonyOS Interface Definition Language(简称HarmonyOS IDL)是HarmonyOS的接口描述语言。HarmonyOS IDL与其他接口语言类似,通过HarmonyOS IDL定义客户端与服务端均认可的编程接口,可以实现在二者间的跨进程…

【C++】C++入门— 类与对象初步介绍

C入门 1 认识面向对象2 类的引入3 类的定义类的定义方式 4 类的访问限定符及封装访问限定符封装 Thanks♪(・ω・)ノ谢谢阅读!下一篇文章见!!! 1 认识面向对象 C语言是面向过程的,关注…

睿尔曼6自由度机械臂ROS驱动包功能拓展之查询指令

1:主要环境预览 1:系统:Ubuntu 20.04 2:ROS:noetic 3:对于系统要求需根据相关手册完成机械臂相关依赖安装,能够运行机械臂本身基本功能, 包括 moveit。 4:准备资料…

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案 一、方案描述 SSC8826Q是高度集成的行车记录仪、流媒体后视镜解决方案,主芯片为ARM Cortex A53,dual core,主频高达1.2GHz,集成了64-bit dual-core RISC 处…

向日葵案例解析:无外网接入,医疗设备如何进行远程售后运维

随着医学科学以及生物工程技术的高速发展,医院对于高端医疗设备如MR、CT、B超等高科技成像设备和放射治疗设备的需求激增。医学影像检查作为一种重要的手段,在许多疾病确诊过程中发挥着至关重要的作用。检查结果正确与否,直接影响临床医生对疾…

Java设计模式 – 四大类型

设计模式 – 四大类型 创建型模式结构型模式行为型模式J2EE模式 设计模式(Design pattern)是重构解决方案 根据书Design Patterns – Elements of Reusable Object-Oriented Software(中文译名:设计模式 – 可复用的面向对象软件元…

STM32 HAL NTC(3950 10k)查表法

NTC(Negative Temperature Coefficient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。该材料是利用锰、铜、硅、钴、铁、镍、锌等两种或两种以上的金属氧化物进行充分混合、成型、烧结等工艺而成的半导体陶瓷,可制…

python绘图指南—Bokeh库从基础到高级打造交互式数据可视【第51篇—python:Bokeh库】

文章目录 Bokeh库深度解析:从基础到高级,打造交互式数据可视化安装Bokeh库Bokeh绘图基础基础图形绘制完善图形 实例演示案例:股票走势图 Bokeh库高级功能探索1. 工具栏和交互性2. 高级图形元素3. 数据链接和动态更新 Bokeh库与其他库的整合1.…

C# ONNX使用入门教程

背景 有新入坑的老哥不太了解C# onnx 运行的机理,我这边详细介绍一下,之前直接放官方的样例有点草率了。 准备[python环境] 1、要使用onnx,首先我们就自己生成一个onnx文件,请大家准备一下以下需要的[python]环境 python 版本…

linux 文件查看 head 、 cat 、 less 、tail 、grep

查看文件详细信息 stat 文件 cat 》》适合显示小文件【行数比较少】,如果行数较多,屏幕显示不完整(如果虚拟操作,是无法上下键的,或者滚动鼠标的,第三方 xsheel,crt 可以方向键查看&#xf…

MySQL 多表查询

重点: MySQL 的 三种安装方式:包安装,二进制安装,源码编译安装。 MySQL 的 基本使用 MySQL 多实例 DDLcreate alter drop DML insert update delete DQL select 3.5)DDL 语句 表:二维关系 设计表&…

【微服务】skywalking自定义链路追踪与日志采集

目录 一、前言 二、自定义链路追踪简介 2.1 自定义链路追踪应用场景 2.2 链路追踪几个关键概念 三、skywalking 自定义链路追踪实现 3.1 环境准备 3.2 集成过程 3.2.1 导入核心依赖 3.2.2 几个常用注解 3.2.3 方法集成 3.2.4 上报追踪信息 四、skywalking 自定义日志…

Spring速成(二)

Spring速成(二) 掌握IOC/DI配置管理第三方bean掌握IOC/DI的注解开发掌握IOC/DI注解管理第三方bean完成Spring与Mybatis及Junit的整合开发 1,IOC/DI配置管理第三方bean 1.1 案例:数据源对象管理 1.1.1 环境准备 学习之前,先来准…