Linux 安装JDK8和卸载

news2024/9/23 21:39:23

目录

一、下载JDK8的rpm包

二、安装JDK

三、设置环境变量


Linux环境下安装JDK的方式有多种,可以通过rpm包、yum安装或者tar.gz压缩包。本章节会教大家通过前两者方式来安装JDK,压缩包的形式因为下载压缩包后上传到服务器环境下,将压缩包解压后配置环境变量就能安装成功,前两者的步骤已经包含了配置环境变量,所以就不做赘述。

一、rpm包安装JDK

1.1. 下载JDK的rpm包

从Oracle官网下载系统对应版本的JDK8的rpm包,,我的云服务器是64位的,所以下载的是x64版本,32位的系统请下载x86版本,下载地址如下:

Java Archive Downloads - Java SE 8

JDK包下载到本地后,通过Xftp或者FileZilla等远程工具将包上传至Linux服务器。

1.2. 安装JDK

安装前通过java -version命令查看本机环境之前有没有安装过JDK,有的话先卸载干净。

如上图所示通过java -version命令显示没有安装JDK,开始使用以下命令安装JDK:

# 将jdk-8u202-linux-x64.rpm替换为你下载的包名
sudo rpm -ivh jdk-8u202-linux-x64.rpm

1.3. 设置环境变量

编辑/etc/profile或你的shell配置文件(例如~/.bashrc),添加以下行:

export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64

export PATH=$JAVA_HOME/bin:$PATH

/usr/java/jdk1.8.0_202-amd64替换为你实际的JDK安装路径。

更新环境变量,执行以下命令:

source /etc/profile

# 或者如果你编辑的是~/.bashrc,使用

source ~/.bashrc

验证安装,执行命令:

java -version

如果安装成功,你将看到Java版本输出为1.8.0。

二、yum安装JDK

注:通过yum安装JDK的前提是你的服务器环境能够连通外网。

在Linux系统中,使用yum安装JDK 8的步骤如下:

2.1. 下载yum包

导入Oracle的JDK rpm包到你的系统的yum仓库中。你可以使用以下命令:

sudo yum install java-1.8.0-openjdk

一旦安装完成,你可以通过运行以下命令来验证安装:

java -version

2.2. 配置JDK环境变量

环境变量的配置方法同rpm安装方式一样,不过同样的要注意你们自己安装的JDK版本。

yum方式安装的JDK的安装路径,通常在/usr/lib/jvm/下,然后编辑/etc/profile配置文件(或者~/.bashrc~/.bash_profile)设置环境变量:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64

export PATH=$PATH:$JAVA_HOME/bin

然后执行命令source /etc/profile或者 source ~/.bashrc来应用更改,或重新开启一个终端窗口。

安装成功

三、卸载rpm安装的JDK

检测当前系统是否存在java环境

java -version

如果有的话就需要卸载,如下检测JDK版本信息

rpm -qa|grep jdk

卸载JDK,下述卸载命令后跟的jdk1.8-1.8.0_202-fcs.x86_64为上面的检测命令的结果,对应的是你本地安装的JDK版本。

rpm -e --nodeps jdk1.8-1.8.0_202-fcs.x86_64

至此,JDK卸载成功。

四、卸载yum安装的JDK

首先,你需要找出通过yum安装的JDK包名。可以使用以下命令:

yum list installed | grep -i jdk

一旦你知道了JDK的包名,例如java-1.8.0-openjdk,你可以使用yum命令卸载它:

sudo yum remove java-1.8.0-openjdk*

为了清除环境变量和其他相关配置,你可能还需要手动编辑/etc/profile~/.bashrc或者~/.bash_profile文件,并删除或注释掉有关JAVA_HOME和PATH的条目。

最后,为了确保变更生效,你可以重新登录或者手动执行以下命令:

source /etc/profile或者source ~/.bashrc

请注意,卸载JDK可能会影响到其他依赖Java的系统或应用,因此在执行卸载操作前,请确保没有其他依赖或者你已经做好了适当的备份和测试。

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

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

相关文章

1.6 计算机网络体系结构

参考:📕深入浅出计算机网络 常见的三种计算机网络体系结构 TCP/IP体系结构 路由器一般只包含网络接口层和网际层。 应用层TCP/IP体系结构的应用层包含了大量的应用层协议,例如HTTP、SMTP、DNS、RTP等运输层TCP和UDP是TCP/IP体系结构运输层的…

召回的在线评估与离线评估

在现代信息检索、推荐系统等应用场景中,召回阶段扮演着至关重要的角色。召回系统负责从海量候选项中筛选出潜在相关的内容,因此其效果直接影响用户的满意度和系统的效率。为了确保召回系统的性能,我们需要对其进行评估,而评估方法…

Python3爬虫教程-HTTP基本原理

HTTP基本原理 1,URL组成部分详解2,HTTP和HTTPS3,HTTP请求过程4,请求(Request)请求方法(Request Method)请求的网址(Request URL)请求头(Request H…

Cilium + ebpf 系列文章-ebpf-map(二)

前言: 上一章节讲述了什么是:ebpf. Cilium + ebpf 系列文章-什么是ebpf?(一)-CSDN博客一、We Create a container be a Server.二、We Create a container be a Client.三、Them link at a Bridge.四、 Do test.一、Test-tools。3、当你执行l s操作时,会调用open的系统调…

Vulkan 学习(8)---- vkImageView 创建

目录 OverView创建方法关键结构参考代码 OverView Vulkan 的图像视图(VkImageView) 用于描述如何访问 VkImage 对象以及访问图像的哪一部分, 图像视图定义了图像格式和访问方式,允许渲染管线和图像进行交互,无论是作为纹理,颜色附件或者深度…

HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034

环境 windows server 2012 IIS8.5 复现 1.访问⽹站 2.主⻚图⽚ iis8.5的是(iis-85.png),其他的可以根据百度查,每个版本的欢迎⻚都不⼀样 3.编辑请求头,增加Range: bytes0-18446744073709551615字段,若…

车路云一体化大模型数据治理方案

车路云一体化大模型数据治理解决方案 "杭州市发改委已批复了杭州交通投资集团的智能网联汽车“车路云一体化”试点项目。这一批复体现了其对该项目可行性研究报告的肯定,预示着杭州市在智能驾驶领域的进一步发展。" 2024年6月18日,第十一届国…

Spring Boot集成Redis Search快速入门Demo

1.什么是Redis Search? RedisSearch 是一个基于 Redis 的搜索引擎模块,它提供了全文搜索、索引和聚合功能。通过 RedisSearch,可以为 Redis 中的数据创建索引,执行复杂的搜索查询,并实现高级功能,如自动完…

简历技能面试问答

变成语言和开发工具 C新特性 自动类型推导 (auto): 自动推导变量的类型,减少显式类型声明的繁琐 范围 for 循环: 用于遍历容器或数组,简化代码。 nullptr: nullptr 取代 NULL,表示空指针,类…

出海企业如何利用海外云手机开展业务?

随着全球化的持续推进,越来越多的企业将目光投向海外市场。然而,面对不同国家的网络环境、政策限制以及文化和语言的差异,出海企业在拓展海外业务时遇到了许多障碍。海外云手机作为一种创新的解决方案,为企业提供支持和帮助。 海外…

【高阶用法】uniapp的i18n/修复/增强/App无重启更换语言

痛点 在i18n多语言模块使用过程中,发现下面几个问题,需要解决 1)uni-best框架下,$t功能函数无法实时的切换语言,可能跟使用有关 2)uni-best建议的translate方式在vue块外使用太繁琐,希望不用…

verilog中非阻塞多个if 优先级判断。

always(posedge clk)beginz < 0;if(sel0)z < a;if(sel1)z < b;if(sel2)z < c;if(sel3)z < d;end 比如上述代码&#xff0c;最后一级的优先级最高。

深入理解 JavaScript 三大作用域:全局作用域、函数作用域、块级作用域

一. 作用域 对于多数编程语言&#xff0c;最基本的功能就是能够存储变量当中的值、并且允许我们对这个变量的值进行访问和修改。那么有了变量之后&#xff0c;应该把它放在哪里、程序如何找到它们&#xff1f;是否需要提前约定好一套存储变量、访问变量的规则&#xff1f;答案…

Teams会议侧边栏应用开发-会议转写

Teams应用开发&#xff0c;主要是权限比较麻烦&#xff0c;大量阅读和实践&#xff0c;摸索了几周&#xff0c;才搞明白。现将经验总结如下&#xff1a; 一、目标&#xff1a;开发一个Teams会议的侧边栏应用&#xff0c;实现会议的实时转写。 二、前提&#xff1a; 1&#x…

株洲芦淞大桥事故的深刻反思

株洲芦淞大桥事故的深刻反思 2024年9月23日清晨&#xff0c;株洲芦淞大桥上发生了一起令人痛心的交通事故&#xff0c;一辆白色小汽车被出租车追尾后失控&#xff0c;冲向对向车道&#xff0c;最终酿成6人死亡、多人受伤的惨剧。 这起事故不仅给受害者家庭带来了无法弥补的伤…

【Python机器学习系列】开发Streamlit应用程序并部署机器学习模型(案例+源码)

这是我的第357篇原创文章。 一、引言 近年来&#xff0c;随着机器学习和人工智能技术的迅猛发展&#xff0c;越来越多的研究者选择将他们的模型以应用程序&#xff08;App&#xff09;的形式进行部署&#xff0c;从而使审稿人和其他研究者可以通过简单的界面&#xff0c;输入相…

9月23日

头文件 // My_string.h #ifndef MY_STRING_H #define MY_STRING_H#include <cstring> #include <algorithm>class My_string { private:char* data;size_t length;void resize(size_t new_length) {size_t new_capacity std::max(new_length 1, length);char* n…

一种求解城市场景下无人机三维路径规划的高维多目标优化算法,MATLAB代码

在城市环境下进行无人机三维路径规划时&#xff0c;需要考虑的因素包括高楼、障碍物、飞行安全和效率等。为了解决这些问题&#xff0c;研究者们提出了多种算法&#xff0c;包括基于智能优化算法的方法。 首先&#xff0c;无人机航迹规划问题的数学模型需要考虑无人机的基本约…

用Flowise+OneAPI+Ollama做一个在线翻译工作流

用FlowiseOneAPIOllama做一个在线翻译工作流&#xff0c;输入一种语言&#xff0c;马上翻译成另外一种语言&#xff0c;使用到的结点主要有&#xff0c;ChatLLM、提示词模板还有LLM Chain。 一、设置OneAPI和Ollama 1、Ollama的安装及配置&#xff0c;请参考&#xff1a;在ub…

三种委派 非约束委派 约束委派 基于资源的约束委派 概念

前言 简单记录下委派攻击的概念。具体的攻击演示/复现这里没有。 强烈建议反复通读《域渗透攻防指南》P242开始的4.5&#xff01;&#xff01;&#xff01; 以前看gitbook那个学的&#xff0c;yysy&#xff0c;真的不怎么适合零基础的看。 趁课上认真看了看4.5章&#xff0c…