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

CentOS 中配置 OpenJDK以及多版本管理

以下是在 CentOS 中配置 OpenJDK 的步骤:
一、安装 OpenJDK
使用以下命令检查系统中是否已经安装了 Java:

   java -version

如果已安装,会显示 Java 版本信息。如果未安装,则继续下一步。
使用 yum 安装 OpenJDK:

   yum install java-1.8.0-openjdk-devel

我更喜欢直接用镜像源下载,清华源ADOPtium目录

[root@localhost software]# wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/18/jdk/x64/linux/OpenJDK18U-jd
--2024-09-17 23:51:34--  https://mirrors.tuna.tsinghua.edu.cn/Adoptium/18/jdk/x64/linux/OpenJDK18U-jdk_x64_l
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.15.130, 2402:f000:1:400::2
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.15.130|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:192590674 (184M) [application/octet-stream]
正在保存至: “OpenJDK18U-jdk_x64_linux_hotspot_18.0.2.1_1.tar.gz”100%[=======================================================================================================2024-09-17 23:53:34 (1.54 MB/s) - 已保存 “OpenJDK18U-jdk_x64_linux_hotspot_18.0.2.1_1.tar.gz” [192590674/192

二、设置环境变量
编辑 /etc/profile 文件:

   vi /etc/profile

在文件末尾添加以下内容:

   export JAVA_HOME=/usr/lib/jvm/jdk-1.8.0 #具体目录以下载的实际目录为准export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注意,这里的JAVA_HOME路径可能因系统和安装的 OpenJDK 版本而有所不同。你可以通过以下命令确定实际的JAVA_HOME路径:

   update-alternatives --config java

该命令会列出系统中的 Java 安装,并显示其对应的路径。
使环境变量生效:

   source /etc/profile

三、验证安装

 java -version   #显示 OpenJDK 的版本信息,表明安装和配置成功

关于多版本的处理

update-alternatives 的基本用法
update-alternatives 是 Ubuntu 的软件多版本管理工具,基本用法为,

update-alternatives --install <link> <name> <path> <priority> [--force]

例如,我要创建一个符号链接 /usr/bin/cmake ,它指向实际安装路径 /usr/local/bin/cmake,则可以使用如下命令,

sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force
# /usr/bin/cmake 为链接的名字
# cmake 指定在 alternatives 文件夹下的名字
# path 为实际文件路径
# priority 给当前的实际文件指定一个值,值越大,权限越高

切换版本,以 cmake 为例,

update-alternatives --config cmake

查看已有的 alternatives 配置,

update-alternatives --list cmake

或者

update-alternatives --display cmake

为啥使用update-alternatives
简化多版本管理:
update-alternatives为管理同一程序的多个版本提供了一个集中的解决方案,使得切换默认版本变得简单快捷。
避免版本冲突:
在开发过程中,避免不同版本之间的冲突是非常重要的。通过update-alternatives,我们可以确保系统中只有一个版本是活跃的,从而减少可能的冲突。
提高开发效率:
当我们需要在不同版本的Python之间切换时,update-alternatives为我们提供了一个快速、有效的解决方案,从而提高了开发效率。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-13
  • 【C++笔记】八、结构体 [ 1 ]
  • ALSA ubuntu 编译
  • 如何安装和注册 GitLab Runner
  • 2018年国赛高教杯数学建模C题大型百货商场会员画像描绘解题全过程文档及程序
  • Kafka性质小结
  • FutureTask源码分析
  • 江科大笔记—STM32课程简介
  • 杭州电子科技大学《2020年+2021年861自动控制原理真题》 (完整版)
  • nginx基础篇(一)
  • docker-compose up 报错:KeyError: ‘ContainerConfig‘
  • python学习第十节:爬虫基于requests库的方法
  • 什么是区块链,以及应用场景
  • 钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句
  • STM32——输入捕获
  • 【EOS】Cleos基础
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • android 一些 utils
  • Apache Pulsar 2.1 重磅发布
  • Computed property XXX was assigned to but it has no setter
  • iOS编译提示和导航提示
  • Javascript Math对象和Date对象常用方法详解
  • JS数组方法汇总
  • Laravel5.4 Queues队列学习
  • 工作手记之html2canvas使用概述
  • 构建二叉树进行数值数组的去重及优化
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 技术胖1-4季视频复习— (看视频笔记)
  • 前端相关框架总和
  • 实现简单的正则表达式引擎
  • 异步
  • 国内开源镜像站点
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • # 数仓建模:如何构建主题宽表模型?
  • #if 1...#endif
  • #NOIP 2014# day.1 T2 联合权值
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $().each和$.each的区别
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (pycharm)安装python库函数Matplotlib步骤
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (zt)最盛行的警世狂言(爆笑)
  • (翻译)terry crowley: 写给程序员
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (函数)颠倒字符串顺序(C语言)
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)socket Aio demo
  • (转)Windows2003安全设置/维护
  • .net core 管理用户机密
  • .net core使用ef 6
  • .NET Reactor简单使用教程
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端