如何在CentOS 7系统中安装gcj-jdk?
解决YUM找不到gcj-jdk的安装方案
嘿,这个问题我之前碰到过好几次——gcj-jdk因为是比较老旧的Java编译器/运行时,现在很多主流Linux发行版的默认YUM源已经不再收录它了,但要满足软件的先决条件也不是没办法,给你几个可行的方案:
1. 先确认你的系统版本
首先搞清楚自己用的是哪个发行版及版本号,这决定了后续的操作方向:
cat /etc/redhat-release
(如果是非RHEL/CentOS系,比如Fedora,命令可能是cat /etc/fedora-release)
2. 针对旧版本系统(比如CentOS 6):启用Vault源
如果你的系统是CentOS 6这类停更的旧版本,官方把旧包移到了Vault仓库里,你可以手动配置这个源来安装:
- 先备份现有的Base源文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak - 创建新的Vault源文件
/etc/yum.repos.d/CentOS-Vault.repo,写入以下内容:[CentOS6-Vault] name=CentOS-6.10 - Vault baseurl=http://vault.centos.org/6.10/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=1 - 现在就可以用YUM安装了:
yum install gcj-jdk -y
3. 针对新版本系统(比如CentOS 7/8、RHEL 7+):手动下载RPM包安装
新版本系统的官方源已经没有gcj-jdk了,你可以找对应架构的RPM包手动安装:
- 搜索匹配你系统版本的gcj-jdk RPM包(注意要找对应架构,比如x86_64)
- 下载后,用
yum localinstall命令安装,它会自动处理依赖问题:
如果直接用yum localinstall gcj-jdk-*.rpm -yrpm -ivh出现依赖报错,上面的命令会更省心。
4. 备选方案:源码编译安装
如果上面的方法都不行,还可以从源码编译gcc(因为gcj是gcc的一个组件):
- 先安装编译依赖:
yum install gcc gcc-c++ make autoconf automake libtool zlib-devel - 下载包含gcj的gcc源码包(注意选支持gcj的旧版本,比如gcc 4.8.x及以前,新版本gcc已经移除了gcj)
- 解压源码后,配置编译参数(指定启用Java语言支持):
./configure --enable-languages=java --prefix=/usr/local/gcj - 编译并安装(这个过程会比较久,耐心等):
make && make install - 最后把安装路径加到环境变量里,方便调用。
额外提醒
gcj-jdk已经被官方废弃很多年了,稳定性和兼容性都不如OpenJDK这类主流JDK。如果可以的话,建议你看看目标软件有没有更新版本,能不能换成OpenJDK来运行,这样后续维护也更方便。
内容的提问来源于stack exchange,提问作者cis
相关产品推荐
相关产品推荐

