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

在 CentOS 系统上运用安装并用alternatives切换 JDK17(与 JDK8 共存指南)

⚠问题

最近在工作中需要同时使用 JDK8 和 JDK17,为了方便切换,我在 CentOS 系统上完成了 JDK17 的安装和配置。整理成文,希望对需要多版本 Java 共存的朋友有帮助。

  1. 首先查看服务器目前的java版本

  1. 使用alternatives 查看java信息


解决方案

1. 创建下载目录下载 JDK17

# 创建软件下载目录
mkdir /usr/local/data
# 进入软件下载目录
cd /usr/local/data
# 下载jdk17
wget https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz

2.解压并注册JDK17

  1. 首先,将下载 Oracle 官方 JDK17 安装包( 格式)解压到 /opt</font> 目录:
sudo tar -xzf jdk-17.0.12_linux-x64_bin.tar.gz -C /opt
  1. 解压后系统会生成类似目录:/opt/jdk-17.0.12

为了简化路径,也方便后续配置,我建议重命名为:

sudo mv /opt/jdk-17.0.12 /opt/jdk17

这样之后的路径就统一为 /opt/jdk17

  1. CentOS 的 alternatives 可以轻松管理同一类型的多版本软件。我们先把 JDK17 注册进去
# 注册 java 命令
sudo alternatives --install /usr/bin/java java /opt/jdk17/bin/java 200
# 注册 javac 命令
sudo alternatives --install /usr/bin/javac javac /opt/jdk17/bin/javac 200

数字 200 是优先级,数值越大优先级越高,通常高版本设置为更高优先级。


3. 切换到 JDK17

注册完成后,可以通过以下命令切换 Java 版本:

sudo alternatives --config java
sudo alternatives --config javac

执行后会看到类似:

选择 java 的版本:
1) /usr/lib/jvm/java-1.8.0/bin/java
* 2) /opt/jdk17/bin/java

输入对应编号即可切换到 JDK17。

✅ 这样你就可以在 JDK8 和 JDK17 之间自由切换了。


4. 配置 JAVA_HOME(推荐)

为了方便其他软件引用 Java,建议配置环境变量:

sudo tee /etc/profile.d/jdk17.sh << 'EOF'
export JAVA_HOME=/opt/jdk17
export PATH=$JAVA_HOME/bin:$PATH
EOF

让配置立即生效:

source /etc/profile.d/jdk17.sh

现在 $JAVA_HOME 就指向了 JDK17。


5. 验证安装

验证 Java 版本:

java -version
javac -version
echo $JAVA_HOME

输出应类似:

java version "17.0.12" 2023-07-18 LTS
javac 17.0.12
JAVA_HOME=/opt/jdk17

✅ 安装成功!


小结

通过以上步骤,我在 CentOS 系统上实现了:

  • JDK8 JDK17 自由切换(通过 alternatives
  • JAVA_HOME 环境变量正确配置
  • 系统多个 JDK 共存,无冲突

这套方法非常适合开发者在不同项目中切换 Java 版本,推荐收藏。

切换回1.8

再切换 Java 运行环境回到 1.8

sudo alternatives --config java

你会看到类似:

2 个程序提供 'java'1 /usr/lib/jvm/java-1.8.0-openjdk.../bin/java
* 2 /opt/jdk17/bin/java

输入 1(JDK1.8) 然后回车。


切换编译器(javac)到 1.8

sudo alternatives --config javac

同样选择 JDK1.8 对应的编号。


验证是否已成功切换

java -version
javac -version

正确输出应类似:

java version "1.8.0_412"
javac 1.8.0_412

❗如果看不到 1.8 选项?

运行这个命令看看 JDK8 路径:

ls /usr/lib/jvm/

需要重新注册 JDK8 到 alternatives。

http://www.jsqmd.com/news/258270/

相关文章:

  • 2026蝶阀评测精选:不锈钢蝶阀优选,锻钢闸阀/旋启止回阀/蝶阀/手动截止阀,蝶阀供应商如何选 - 品牌推荐师
  • 2026年耐候钢认证厂家,哪家性价比高一看便知 - 工业品牌热点
  • 2026年1月云南旅行社服务品质与客户口碑权威测评榜单发布 - 品牌推荐
  • 徐州市鼓楼云龙贾汪泉山铜山区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐 - 老周说教育
  • 2026年国内比较好的测水流量计生产商联系电话,氮气流量计/德尔塔巴流量计/变送器/差压变送器,测水流量计品牌哪家强 - 品牌推荐师
  • 聚焦全域深度游与安心出行:2026年适配不同游客需求的五大云南旅行社全景对比。 - 品牌推荐
  • GitHub霸榜----DeepSeek-V3 与 Janus-Pro 开源:国产 AI 这一战,彻底改变了游戏规则
  • 学霸同款2026 8个一键生成论文工具测评:开题报告文献综述全攻略
  • 告别行程纠纷与隐形消费:2026年最新盘点真正懂云南市场的三家高适配旅行合作伙伴 - 品牌推荐
  • 第18天:信息打点-APP资产知识产权应用监控静态提取动态抓包动态调试
  • AI多智能体决策教学系统:让复杂决策逻辑看得见
  • 2026年1月云南旅行社实力排行榜:基于客户口碑与合规资质的TOP5权威榜单揭晓。 - 品牌推荐
  • AI泛舆情智能体协同平台:让数据学会“分工协作”
  • 2026年1月云南旅行社服务实力与口碑权威测评排行榜 - 品牌推荐
  • 深入解析:PyAutoGUI 模拟鼠标键盘:原理解析 + 工程实践案例 + 踩坑指南
  • 深入解析Redis三大缓存问题:穿透、击穿、雪崩及解决高效的方案
  • 徐州市鼓楼云龙贾汪泉山铜山区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 动力电池SOC估算:安时与功率积分法对比
  • 2026必备!专科生毕业论文痛点TOP10 AI论文平台测评
  • 深入解析:企业级视频处理:openEuler 环境 FFmpeg 多场景转码性能实战
  • 2026年市面上诚信的磁力泵生产厂家电话,不锈钢离心泵/四氟离心泵/氟塑料磁力泵/耐酸碱磁力泵,磁力泵供应商推荐 - 品牌推荐师
  • 分享2026年宜良比较好的装修设计专业公司排名 - 工业品牌热点
  • 2026年行业内技术好的包衣机订制厂家口碑推荐,粉碎整粒机/离心造粒包衣机/糖衣包衣机/高效沸腾制粒机,包衣机工厂哪个好 - 品牌推荐师
  • 2025新中式高定服装定制大赏,哪款能让你心动?,优秀的新中式高定服装排行榜精选优质厂家 - 品牌推荐师
  • Maven工作原理总结
  • 2026年盘点CPU用聚酯多元醇哪个品牌有完善的体系,别错过 - 工业品牌热点
  • 大模型落地实战指南:从技术选型到企业级部署
  • Maven安装教程
  • 大模型企业级落地全攻略(含完整代码 + 流程图 + Prompt + 图表)
  • 9个降AI率工具推荐,专科生必看!