Linux系统安装OpenJDK教程 多版本Java环境快速切换方法【教程】

陌枫酱_5261

陌枫酱_5261

2026-04-10

662人浏览

原创

linux中可通过apt/yum安装多版本openjdk,手动解压安装非仓库版本,配置java_home和path,用update-alternatives或jenv实现灵活切换,并验证版本一致性。

linux系统安装openjdk教程 多版本java环境快速切换方法【教程】

如果您在Linux系统中需要安装OpenJDK并支持多个Java版本共存,以便根据项目需求灵活切换,需通过包管理器安装不同版本的OpenJDK,并配置环境变量实现快速切换。以下是具体操作步骤:

一、使用APT安装多个OpenJDK版本(Ubuntu/Debian)

Ubuntu和Debian系统可通过apt命令直接安装多个官方维护的OpenJDK版本,无需手动下载压缩包,安装过程自动完成依赖解析与路径注册。

1、更新软件包索引:sudo apt update

2、安装OpenJDK 8、11和17:sudo apt install openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk

3、验证已安装版本:ls /usr/lib/jvm/ | grep java

二、使用YUM/DNF安装多个OpenJDK版本(CentOS/RHEL/Fedora)

Red Hat系发行版通过yum或dnf可从默认仓库或EPEL源安装多个长期支持的OpenJDK版本,各版本以独立软件包形式存在,互不覆盖。

1、在CentOS 8+/RHEL 8+上启用AppStream仓库(如未启用):sudo dnf config-manager --set-enabled powertools

2、安装OpenJDK 11和17:sudo dnf install java-11-openjdk-devel java-17-openjdk-devel

3、查看可用Java安装路径:sudo alternatives --config java

三、手动解压安装OpenJDK(通用方法,适用于任意Linux发行版)

当系统仓库未提供所需版本(如OpenJDK 21),可从Adoptium或Eclipse Temurin官网下载tar.gz包,解压至自定义目录,避免干扰系统默认Java环境。

1、创建统一JDK安装目录:sudo mkdir -p /opt/java

2、下载并解压OpenJDK 21到该目录(示例URL以Temurin为准):sudo wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz -O /tmp/jdk21.tar.gz && sudo tar -zxf /tmp/jdk21.tar.gz -C /opt/java/

3、确认解压后路径:ls /opt/java/jdk-21.0.1+12-jre

四、配置JAVA_HOME并设置全局环境变量

为使系统及用户级应用识别Java安装位置,需将JAVA_HOME指向当前主用JDK路径,并将bin目录加入PATH,所有Shell会话启动时自动加载该配置。

1、编辑系统级环境配置文件:sudo nano /etc/profile.d/java.sh

js2java
js2java

JavaScript 到 Java 全栈翻译助手,专为前端开发者学习 Java 或快速实现后端业务逻辑而设计。当用户提到以下场景时必须使用此技能: - "帮我把这段 JS 代码转成 Java" - "用 Java 怎么写这个逻辑" - "我习惯用 JS 写,想翻译成 Java" - "教我 Java,我要写后端接...

下载

2、写入以下内容(以OpenJDK 17为例):export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 && export PATH=$JAVA_HOME/bin:$PATH

3、立即生效配置:source /etc/profile.d/java.sh

五、使用update-alternatives实现多版本Java快速切换

Debian/Ubuntu系系统提供update-alternatives工具,可将多个Java执行文件注册为同一逻辑名称(java、javac等),通过交互式菜单一键切换默认版本。

1、为每个JDK版本注册java命令:sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1

2、继续注册其他版本(注意优先级数字递增):sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 2

3、启动交互式选择界面:sudo update-alternatives --config java

六、使用jenv管理多版本Java环境(开发者推荐)

jenv是专为Java开发者设计的轻量级版本管理工具,支持全局、shell级、目录级三级作用域切换,无需修改系统级配置文件,适合多项目并行开发场景。

1、克隆jenv源码并初始化:git clone https://github.com/jenv/jenv.git ~/.jenv && echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(jenv init -)"' >> ~/.bashrc

2、重新加载Shell配置:source ~/.bashrc

3、添加已安装的JDK路径(示例):jenv add /usr/lib/jvm/java-11-openjdk-amd64 && jenv add /usr/lib/jvm/java-17-openjdk-amd64

七、验证当前Java版本及切换结果

每次完成版本切换后,必须验证JAVA_HOME、java -version及javac -version输出是否一致,确保运行时与编译器版本匹配,避免因版本错位导致构建失败。

1、检查JAVA_HOME路径:echo $JAVA_HOME

2、检查Java运行时版本:java -version

3、检查Java编译器版本:javac -version

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

630

5

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

2023.07.24

5206

6

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

2023.11.02

7979

18

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

2784

5

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

642

5

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

2025.10.10

3346

11

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

2025.10.10

3365

12

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.15

468

3

eclipse字体相关教程
eclipse字体相关教程

本专题整合了eclipse字体设置相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.26

854

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习