Java版本切换~Linux

embedded/2025/3/16 16:59:33/

Java版本切换~Linux

来自: Ultra~你过来啊

用户头像

浅木先生

2025年03月13日 12:46

环境情况: centos7 服务器, 已经使用 yum 方式安装过 java1.8 与 java11

安装方式可参照: https://wx.zsxq.com/columns/15552425251112?column_id=8412242122 --java1.8

https://articles.zsxq.com/id_9jcmjwpsxiia.html -- java11

步骤 1:确认 Java 安装路径

首先找到 JDK 的安装路径,通常它们位于 /usr/lib/jvm/ 目录下。

执行以下命令查找已安装的 Java 版本:

ls /usr/lib/jvm/

输出可能是:

步骤 2:配置全局环境变量

通过 alternatives 工具管理多版本切换:

1. 注册 Java 版本到 alternatives

sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/bin/java 1

sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java 2

# 移除方法- 配置错误时使用

sudo alternatives --remove java /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java

2. 切换 Java 版本

运行以下命令选择版本:

sudo alternatives --config java

输入 1 或 2 即可切换。

步骤 3:验证切换结果

检查当前 Java 版本:

java -version

环境变量:

需要将原有的环境变量删除

# 添加动态获取 JAVA_HOME 的配置

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/jre/bin/java::; s:/bin/java::")' | sudo tee -a /etc/profile

echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile

# 生效配置

source /etc/profile

验证切换

# 切换 Java 版本

sudo alternatives --config java

# 输入选项 2 (Java 11)

java -version

# 检查符号链接链

readlink -f /usr/bin/java


http://www.ppmy.cn/embedded/173111.html

相关文章

OpenSSL 的主要功能及其示例命令

OpenSSL 是一个功能强大的开源工具包,用于处理各种与加密相关的任务,包括生成密钥、创建证书、加密解密数据、验证证书等。以下是 OpenSSL 的主要功能及其示例命令。 1.生成密钥 1.1 生成 RSA 私钥 openssl genrsa -out private_key.pem 2048• 说明&a…

CSDN博客:Markdown编辑语法教程总结教程(下)

❤个人主页:折枝寄北的博客 Markdown编辑语法教程总结 前言1. LaTex数学公式2. 插入不同类别的图2.1 插入甘特图2.2 插入UML图2.3 插入Mermaid流程图2.4 插入Flowchart流程图2.5 插入classDiagram类图 3. CSDN快捷键4. 字体相关设置4.1 字体样式改变4.2 字体大小改变…

3.数据结构-串、数组和广义表

串、数组和广义表 3.1串3.1.1串的类型定义、存储结构及其运算串的顺序存储串的堆式顺序存储结构串的链式存储 3.1.2 串的模式匹配算法BF算法*KMP算法(待更新) 3.2数组3.2.1数组的顺序存储3.2.2特殊矩阵的压缩存储对称矩阵三角矩阵对角矩阵 3.3广义表*案例…

Python(学习一)

做网站有成熟的框架像FLASK、DJANGO、TORNADO,写爬虫有好用到哭的REQUESTS,还有强大到没盆友的SCRAPY 随着NUMPY、SCIPY、MATLOTLIB等众多第三方模块的开发和完善,不仅支持py支持各种数学运算,还可以绘制高质量的2D和3D图像&…

Spring Boot 中 BootstrapRegistryInitializer 的作用与示例

一、核心作用 BootstrapRegistryInitializer 是 Spring Boot 启动流程中的早期初始化扩展点,主要用于在应用上下文(ApplicationContext)创建之前,向 BootstrapRegistry 注册必要对象或执行自定义逻辑。其核心作用包括&#xff1a…

C++的名称空间

C++的名称空间(namespace)是一种用于组织代码、防止命名冲突的机制。以下是名称空间的详细说明和使用建议: 1. 名称空间的定义 使用namespace关键字定义,内部可包含变量、函数、类等: namespace MyNamespace {int a;void func() {} }2. 访问方式 作用域解析运算符:::显…

怎么鉴别金媒v10.51和v10.5的区别!单单从CRM上区分!

2.怎么鉴别程序是10.5还是10.51 ?* 作为商业用户,升级完全没有这个担心,但是这次升级从全局来看清晰度不是很高,不像10.5的升级后台UI都变化了!你说有漏洞但是我没遇到过 所以我也不知道升级了啥只能看版本数字是无法区…

[Sum] C++STL oj常用API

目录 一、头文件管理 1.1 万能头文件(快捷方式) 1.2 标准头文件规范 二、输入输出处理 2.1 基本输入方式 2.2 格式化输出 三、常用 API 详解 3.1 字符串操作( ) 3.2 容器操作 Vector(动态数组) S…