在Linux系统中下载和安装Java程序(通常指JDK,即Java开发工具包)是开发Java应用或运行Java程序的基础步骤,Linux系统提供了多种安装Java的方式,包括使用包管理器、手动下载官方安装包、通过SDKMAN!等工具进行管理,本文将详细介绍这些方法的具体操作步骤、环境变量配置及常见注意事项,帮助用户顺利完成Java程序的下载与安装。

使用包管理器安装Java(推荐新手用户)
大多数Linux发行版(如Ubuntu、Debian、CentOS、RHEL等)都内置了包管理器,可通过命令行直接安装Java,操作简单且能自动处理依赖关系,以下是常见发行版的安装方法:
Ubuntu/Debian系统
Ubuntu和Debian使用apt作为包管理器,安装Java前需先更新软件包列表,再安装OpenJDK(Java的开源实现),以安装OpenJDK 17为例(LTS版本,长期支持):
# 更新软件包列表 sudo apt update # 安装OpenJDK 17开发工具包(包含JRE和编译器javac) sudo apt install openjdk-17-jdk # 安装完成后可验证版本 java -version javac -version
若需安装其他版本(如OpenJDK 11、8),可将命令中的17替换为对应版本号。
CentOS/RHEL/Fedora系统
CentOS和RHEL使用yum(CentOS 7及以下)或dnf(CentOS 8及以上)作为包管理器,以CentOS 8为例,安装OpenJDK 17:
# 使用dnf安装(CentOS 8+) sudo dnf install java-17-openjdk-devel # CentOS 7及以下使用yum sudo yum install java-17-openjdk-devel # 验证安装 java -version
注意:通过包管理器安装的Java,环境变量通常会自动配置,无需手动设置。
手动下载JDK安装包(适合定制化需求)
若需要特定版本的Java(如Oracle JDK、Amazon Corretto等),或包管理器中的版本不符合需求,可手动下载JDK安装包并配置环境变量,以下是详细步骤:
选择JDK版本并下载
主流JDK发行版包括:
- OpenJDK:开源免费,推荐使用Adoptium Temurin(前身为AdoptOpenJDK)或Oracle OpenJDK;
- Oracle JDK:Oracle官方版本,需接受许可协议(商业项目需注意许可条款);
- Amazon Corretto:AWS提供的LTS版本,免费且经过优化;
- Eclipse Temurin:Eclipse基金会维护的OpenJDK发行版,包含多种JVM实现。
以Adoptium Temurin为例,下载步骤如下:

- 访问Adoptium官网,选择“Temurin”版本(如LTS的17)、操作系统(Linux)、架构(x64或aarch64);
- 下载
.tar.gz格式的压缩包(适用于所有Linux发行版)。
解压并安装JDK
将下载的压缩包上传至Linux系统(可通过scp、wget或浏览器下载),解压到指定目录(如/usr/local/java):
# 创建安装目录 sudo mkdir -p /usr/local/java # 解压压缩包(假设下载文件为OpenJDK17-jdk_x64_linux.tar.gz) sudo tar -zxvf OpenJDK17-jdk_x64_linux.tar.gz -C /usr/local/java/ # 重命名解压目录(可选,方便管理) sudo mv /usr/local/java/jdk-17* /usr/local/java/jdk-17
配置环境变量
手动安装的JDK需手动配置JAVA_HOME和PATH环境变量,使系统可识别Java命令,编辑~/.bashrc(当前用户生效)或/etc/profile(系统全局生效)文件:
# 编辑当前用户配置文件(推荐普通用户) nano ~/.bashrc # 在文件末尾添加以下内容(根据实际JDK路径调整) export JAVA_HOME=/usr/local/java/jdk-17 export PATH=$JAVA_HOME/bin:$PATH # 保存后使配置生效 source ~/.bashrc
若需系统全局生效,编辑/etc/profile文件,添加相同内容后执行source /etc/profile。
验证安装
执行以下命令检查Java是否安装成功:
java -version # 查看Java版本 javac -version # 查看Java编译器版本 echo $JAVA_HOME # 检查JAVA_HOME变量是否正确
使用SDKMAN!管理Java(适合多版本切换需求)
SDKMAN!(Software Development Kit Manager)是一个多平台SDK管理工具,支持Java、Kotlin、Gradle等工具的安装、切换和管理,适合需要频繁切换Java版本的开发者。
安装SDKMAN!
打开终端,执行以下命令安装SDKMAN!:
curl -s "https://get.sdkman.io" | bash
安装完成后,重启终端或执行source "$HOME/.sdkman/bin/sdkman-init.sh"初始化。
使用SDKMAN!安装Java
SDKMAN!提供了多种Java发行版,可通过以下命令安装:

# 查看可用的Java版本 sdk list java # 安装特定版本(如Adoptium Temurin 17.0.8) sdk install java 17.0.8-tem # 设置默认Java版本 sdk default java 17.0.8-tem # 验证安装 java -version
切换Java版本
若需切换Java版本,直接执行:
# 切换到已安装的其他版本(如OpenJDK 11) sdk use java 11.0.19-open # 查看当前使用的Java版本 sdk current java
不同Java发行版对比
| 发行版 | 维护方 | 特点 | 适用场景 |
|---|---|---|---|
| Adoptium Temurin | Eclipse基金会 | 开源免费,包含多种JVM(HotSpot、OpenJ9),LTS版本长期支持 | 通用开发、生产环境 |
| Oracle OpenJDK | Oracle | 官方开源版本,与Oracle JDK功能一致,无商业限制 | 企业开发、开源项目 |
| Oracle JDK | Oracle | 官方商业版本,提供额外工具(如Java Flight Recorder),需接受OTN许可 | 商业项目、需Oracle支持的场景 |
| Amazon Corretto | AWS | 基于OpenJDK的LTS版本,经AWS优化,免费提供 | AWS云环境、企业级应用 |
| Eclipse Temurin | Eclipse基金会 | 继承AdoptOpenJDK,包含社区贡献的优化,兼容性好 | 跨平台开发、开源工具集成 |
常见问题与解决方案(FAQs)
问题1:如何切换系统默认的Java版本?
解答:
若系统中安装了多个Java版本(如通过包管理器或手动安装),可通过update-alternatives(Debian/Ubuntu)或alternatives(CentOS/RHEL)管理默认版本。
-
Ubuntu/Debian系统:
# 查看已安装的Java alternatives sudo update-alternatives --config java # 根据提示选择默认版本(输入编号回车)
-
CentOS/RHEL系统:
# 注册Java alternatives(若未注册) sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk/bin/java 1 # 切换版本 sudo alternatives --config java
问题2:安装Java后,javac命令不可用怎么办?
解答:javac是Java编译器,包含在JDK的bin目录中,若javac命令不可用,通常是因为:
- 未安装JDK:仅安装了JRE(Java运行时环境),需安装包含
javac的JDK包(如openjdk-17-jdk); - 环境变量未配置:检查
PATH是否包含$JAVA_HOME/bin,可通过echo $PATH查看,若未包含,参考“手动下载JDK”部分配置环境变量; - 多版本冲突:通过
update-alternatives或alternatives检查javac的默认版本,确保与Java版本一致。
以Ubuntu为例,可重新安装JDK包修复:
sudo apt install --reinstall openjdk-17-jdk
通过以上方法,用户可根据自身需求选择合适的Java安装方式,无论是新手还是开发者,均能在Linux系统中顺利完成Java程序的下载、安装与配置。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37448.html