使用SDKMAN在Linux系统上安装JDK

本文使用的Linux发行版为Rocky Linux 9.2,可以当做CentOS的平替产品。

SDKMAN是一个sdk包管理工具,通过自带的命令可以快速切换软件环境, 官网地址:https://sdkman.io/。

在这里插入图片描述

1、安装sdkman:

# 
curl -s "https://get.sdkman.io" | bash# 
export SDKMAN_DIR="/usr/local/sdkman"source "$HOME/.sdkman/bin/sdkman-init.sh"

验证是否安装成功:sdk version

sdkman常用命令:

# 帮助手册
sdk help # 列出可用的sdk版本,示例 查看jdk的版本:sdk list java
sdk list xxx  # 安装指定sdk, 示例 安装openjdk:sdk install java 21-open 
sdk install xxx # 查看指定sdk的安装路径,示例 查看openjdk21的安装位置:sdk home java 21-open
sdk home xxx      # 默认安装位置:/root/.sdkman/candidates/xxx# 查看正在使用的sdk版本
sdk current# 查看正在使用指定的sdk版本
sdk current xxx# 切换指定版本sdk(临时使用,当前shell有效)
sdk use xxx# 切换指定版本sdk(全局有效)
sdk default xxx# 卸载指定sdk
sdk uninstall xxx

2、卸载系统自带的jdk:

# 查看rpm包安装的jdk
rpm -qa | grep java# 卸载系统自带的jdk: rpm -e --nodeps java-1.8.0-openjdk-xxx 
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.372.b07-2.el9.x86_64

image-20230930155944742


3、使用sdkman安装openjdk21:https://sdkman.io/jdks

# sdk install java 版本号-发行版 (安装路径可以自定义,默认会安装到sdkman的目录下)# sdk install java 21-open /
sdk install java 21-open# 查看jdk的安装安装位置
sdk home java 21-open # 安装位置:/root/.sdkman/candidates/java/21-open

image-20230930164411496

通过命令java -version,验证jdk是否安装成功:

image-20230930164525486


4、切换到jdk8

# 安装jdk8
sdk install java 8.0.362-zulu
# 切换jdk8
sdk default java 8.0.362-zulu

image-20230930170451084


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

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

相关文章

SpringBoot整合RocketMQ笔记

SpringBoot版本为2.3.12.Release RocketMQ对比kafka 学习链接 https://zhuanlan.zhihu.com/p/335216381 代码实战 https://www.cnblogs.com/RedOrange/p/17401238.html Centos安装rocketmq https://blog.csdn.net/chuige2013/article/details/123783612 RocketMQ详细配置与…

mfc 动态加载dll库,Mat转CImage,读ini配置文件,鼠标操作,在edit控件上画框,调试信息打印

动态加载dll库 h文件中添加 #include "mydll.h" #ifdef UNICODE //区分字符集 #define LoadLibrary LoadLibraryW #else #define LoadLibrary LoadLibraryA #endif // !UNICODEtypedef double(*mydllPtr)(int, int);类内添加: mydllPtr m_mydll; cpp…

centos rpm方式安装jenkins

rpm方式按照jenkins 1. jenkins rpm下载 [rootlocalhost software]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.361.4-1.1.noarch.rpm该版本要使用jdk11 2. 创建jenkins安装需要的文件夹 [rootlocalhost software]# mkdir -p /var/cache…

【C语言深入理解指针(2)】

1. 数组名的理解 在上⼀个博客我们在使⽤指针访问数组的内容时,有这样的代码: int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0];这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址&#x…

C++ - 开散列的拉链法(哈希桶) 介绍 和 实现

前言 之前我们介绍了,闭散列 的 开放地址法实现的 哈希表:C - 开放地址法的哈希介绍 - 哈希表的仿函数例子_chihiro1122的博客-CSDN博客 但是 闭散列 的 开放地址法 虽然是哈希表实现的一种,但是这种方式实现的哈希表,有一个很大的…

【操作系统】了解Linux操作系统中PCB进程管理模块与进程PID

本篇要分享的内容是有关于操作系统中进程的内容。 目录 1.进程的简单理解 2.了解task_struct(进程控制模块)内容分类 3.task_struct(进程控制模块)中的PID 4.调用查看PID的函数 1.进程的简单理解 首先我们需要理解的是什么是…

C++指针的使用

文章目录 1.C指针1.1 定义指针1.2 使用指针 2.空指针和野指针2.1 空指针2.2 野指针 3.指针所占空间4.使用const修饰指针4.1 const修饰指针4.2 const修饰常量4.3 const 既修饰指针也修饰常量 5.指针操作数组6.指针做函数参数7.使用指针知识实现冒泡排序 1.C指针 指针其实就是一…

【python数据建模】Numpy库

数组 创建 import numpy as np # np.array() 生成元素同类型的数组 a1np.array([1,2,3,4]) # 整型 a2np.array([1.0,2,3,4]) # 浮点型 a3np.array([1,2,3,4],dtypefloat) a4np.array([1,2,3,4]) # 字符串# np.astype() 数值类型转换 aa4.astype(int) print(a.dtype)# np.aran…

SpringBoot整合数据库连接

JDBC 1、数据库驱动 JDBC(Java DataBase Connectivity),即Java数据库连接。简而言之,就是通过Java语言来操作数据库。 JDBC是sun公司提供一套用于数据库操作的接口. java程序员只需要面向这套接口编程即可。不同的数据库厂商&…

【C++】特殊类设计

文章目录 一、请设计一个类,只能在堆上创建对象二、请设计一个类,只能在栈上创建对象三、请设计一个类,不能被拷贝四、请设计一个类,不能被继承 一、请设计一个类,只能在堆上创建对象 实现方式 将类的构造函数私有&a…

Ubuntu配置深度学习环境(TensorFlow和pyTorch)

文章目录 一、CUDA安装1.1 安装显卡驱动1.2 CUDA安装1.3 安装cuDNN 二、Anaconda安装三、安装TensorFlow和pyTorch3.1 安装pyTorch3.2 安装TensorFlow2 四、安装pyCharm4.1 pyCharm的安装4.2 关联anaconda的Python解释器 五、VScode配置anaconda的Python虚拟环境 前言&#xff…

本地部署 川虎 Chat

本地部署 川虎 Chat 1. 川虎 Chat 项目概述2. Github 地址3. 部署 川虎 Chat4. 配置 config.json5. 启动 川虎 Chat 1. 川虎 Chat 项目概述 为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能。 支持 GPT-4 基于文件问答 LLM本地部署 联网搜索 Agent 助理…

计算机竞赛 深度学习手势识别 - yolo python opencv cnn 机器视觉

文章目录 0 前言1 课题背景2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存 5 模型训练5.1 修…

数据结构:复杂度分析

目录 1 算法效率评估 1.1 实际测试 1.2 理论估算 2 迭代与递归 2.1 迭代 1. for 循环 2. while 循环 3. 嵌套循环 2.2 递归 1. 调用栈 2. 尾递归 3. 递归树 2.3 两者对比 3 时间复杂度 3.1 统计时间增长趋势 3.2 函数渐近上界…

MySQL学习笔记26

MySQL主从复制的搭建(AB复制) 传统AB复制架构(M-S): 说明:在配置MySQL主从架构时,必须保证数据库的版本高度一致,统一版本为5.7.31 环境规划: 编号主机名称主机IP地址角色信息1ma…

460. LFU 缓存

请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key) - 如果键 key 存在于缓存中,则获取键的值,否则返回 -1…

盛最多水的容器 接雨水【基础算法精讲 02】

盛雨水最多的容器 链接 : 11 盛最多水的容器 思路 : 双指针 : 1.对于两条确定的边界,l和r,取中间的线m与r组成容器,如果m的高度>l的高度,那么整个容器的长度会减小,如果低于l的高度,那么不仅高度可…

前端与后端:程序中两个不同的领域

前端和后端是构成一个完整的计算机应用系统的两个主要部分。它们分别负责不同的功能和任务,有以下几个方面的区别: 功能:前端主要负责用户界面的呈现和交互,包括网页的设计、布局、样式、动画效果和用户输入等。后端则处理网站或应…

Flink安装及简单使用

目录 转载处(个人用最新1.17.1测试) 依赖环境 安装包下载地址 Flink本地模式搭建 安装 启动集群 查看WebUI 停止集群 Flink Standalone搭建 安装 修改flink-conf.yaml配置文件 修改workers文件 复制Flink安装文件到其他服务器 启动集群 查…

cesium 热力图(CesiumHeatmap)

cesium 热力图 可添加、删除、显示、隐藏 完整代码 <!DOCTYPE html> <html lang="en"><head><meta charset="utf-8">