Rocky Linux 上安装 Gradle 需先装 OpenJDK 11/17,下载 gradle-8.10-bin.zip 解压至 /opt/gradle/,配置用户级 PATH 并 source 生效,验证时注意 JDK 兼容性与 SELinux 限制。

Rocky Linux 上安装 Gradle 和在 CentOS/RHEL 系统上基本一致,关键点在于:用 bin.zip 而非 all.zip、避免全局写入 /etc/profile 时权限混乱、Java 版本必须 ≥ 1.8(推荐 OpenJDK 11 或 17)。
确认 Java 环境是否就绪
Gradle 不自带 JVM,必须先验证 Java 可用:
- 运行
java -version,输出应含openjdk version "11.或"17.;若报错或版本过低(如 1.8.0_65),需先装新版 JDK - Rocky Linux 8/9 推荐用 dnf 安装:
sudo dnf install java-11-openjdk-devel(开发用)或java-17-openjdk-devel - 不要依赖系统默认的
java-1.8.0-openjdk—— Gradle 8+ 已不兼容 JDK 8 的部分 API
下载并解压 gradle-bin.zip(不是 all.zip)
all.zip 包含文档和源码,体积大、解压慢、无实际构建价值;bin.zip 是精简版,启动快、路径干净,适合生产环境。
- 用
wget直接拉取(示例为 8.10,当前最新稳定版):wget https://downloads.gradle-dn.com/distributions/gradle-8.10-bin.zip - 解压到统一管理目录,例如:
sudo mkdir -p /opt/gradlesudo unzip gradle-8.10-bin.zip -d /opt/gradle/ - 解压后路径是
/opt/gradle/gradle-8.10,别漏掉末尾的版本号子目录
配置用户级 PATH(不碰 /etc/profile)
Rocky Linux 默认用 bash,但很多用户已切 zsh(尤其是 Rocky 9 + GNOME)。直接改 /etc/profile 容易引发权限冲突或影响其他用户,推荐配当前用户 shell 配置文件。
- 先查当前 shell:
echo $SHELL,结果是/bin/bash就改~/.bashrc,是/bin/zsh就改~/.zshrc - 追加两行(注意路径与你解压的实际路径一致):
export GRADLE_HOME=/opt/gradle/gradle-8.10export PATH=${GRADLE_HOME}/bin:${PATH} - 立即生效:
source ~/.bashrc(或source ~/.zshrc) - 验证:
which gradle应返回/opt/gradle/gradle-8.10/bin/gradle;gradle -v应显示完整版本信息,且 JVM 版本与前面java -version一致
常见失败现象与绕过方法
最常卡在「gradle -v 报错:Could not determine java version from 'xx'」,本质是 Gradle 启动脚本解析 java -version 输出失败 —— 这在 Rocky Linux 9 的 OpenJDK 17 上尤其高频。
- 临时绕过:设环境变量强制指定 JVM:
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
再跑gradle -v - 根本解决:升级 Gradle 到 8.7+(已修复多数 JDK 17/21 兼容问题),或降级 JDK 至 11(
sudo dnf install java-11-openjdk-devel+sudo alternatives --config java) - 另一个静默坑:SELinux 默认启用,若从非标准路径(如
/home/user/gradle)运行,可能因策略拒绝执行gradle脚本。用ls -Z gradle查上下文,必要时chcon -t bin_t gradle
真正麻烦的从来不是“装不上”,而是装完后 gradle build 在 CI 流水线里突然失败——往往因为 GRADLE_USER_HOME 指向 NFS 挂载点导致锁文件冲突,或 ~/.gradle 权限被 root 写过一次就再也无法普通用户更新。这些细节比安装步骤更值得花时间盯住。











