刚装好的 CentOS 系统默认会预装 OpenJDK,但自带的版本往往比较老旧。在终端执行 java -version,通常会看到类似如下输出:
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
虽然 OpenJDK 也能满足基本需求,但在生产环境中,许多团队更倾向于使用 Oracle(原 Sun)JDK 来获得更好的稳定性和兼容性。因此,建议先将系统自带的 OpenJDK 彻底卸载。
第一步,先查询当前系统中所有与 Java 相关的 RPM 包。执行:
rpm -qa | grep java
输出结果通常包含以下两个包:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
其中一个是较老的 gcj 兼容包,另一个是 1.6 版本的 OpenJDK。接下来使用 rpm 命令并加上 --nodeps 参数强制删除(以便跳过依赖检查),具体命令如下:
rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
除了上述操作,还可以通过以下两条命令确认是否还有其他残留的 Java 相关包:
rpm -qa | grep gcj
rpm -qa | grep jdk
如果在执行过程中遇到类似“找不到 openjdk source”的错误提示,不必担心,还可以改用 yum 来移除,yum 会自动处理依赖关系,更加省心。命令如下:
yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载完成后,再次执行 java -version 验证;如果提示“command not found”,说明已完全清除。此时就可以放心安装 Oracle JDK 了。
