在 CentOS 上安装 Java 的标准流程
一 准备与版本选择
- 确认系统版本:执行 cat /etc/centos-release,不同大版本在包管理器与默认软件源上略有差异。
- 选择发行版:优先选择 OpenJDK(开源、易维护);若业务必须使用 Oracle JDK,可通过官方安装器或 RPM 包安装。
- 选择版本:常见为 Java 8(1.8)、Java 11、Java 17(LTS),按应用要求确定。
- 安装前检查:执行 java -version,若提示未找到命令,则继续安装;如已存在旧版本,后续可用 alternatives 切换版本。
二 使用包管理器安装 OpenJDK(推荐)
- CentOS 7 使用 yum,CentOS 8/9 使用 dnf(dnf 向下兼容,命令用法基本一致)。
- 更新索引:
- yum:sudo yum update
- dnf:sudo dnf update
- 搜索可用版本:
- yum:sudo yum search java
- dnf:sudo dnf search java
- 安装运行时与开发包(示例):
- Java 8:sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel(devel 含 javac 等开发工具)
- Java 11:sudo dnf install -y java-11-openjdk java-11-openjdk-devel
- Java 17:sudo dnf install -y java-17-openjdk java-17-openjdk-devel
- 验证安装:
- java -version
- javac -version(能显示编译器版本说明开发包已装好)
三 手动安装 Oracle JDK 或指定目录安装
- 下载:前往 Oracle 官网获取 Linux x64 .tar.gz(或 .rpm)安装包。
- 解压到指定目录(示例):
- 创建目录:sudo mkdir -p /usr/local/java
- 解压:tar -zxvf jdk-8u311-linux-x64.tar.gz -C /usr/local/java
- 重命名(可选):sudo mv /usr/local/java/jdk1.8.0_311 /usr/local/java/jdk8
- 配置环境变量(全局生效):编辑 /etc/profile,在末尾添加(路径按实际调整):
- OpenJDK 常见路径示例:/usr/lib/jvm/java-11-openjdk 或 /usr/lib/jvm/java-1.8.0-openjdk
- Oracle JDK 示例:
- export JAVA_HOME=/usr/local/java/jdk8
- export PATH=$JAVA_HOME/bin:$PATH
- (可选)export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 使配置生效:source /etc/profile
- 验证:java -version、javac -version。
四 多版本共存与切换
- 查看与切换默认 Java:
- 列出可用:sudo alternatives --config java
- 按提示输入编号选择默认版本(同一台机器可并存多个 JDK,仅切换默认)。
- 如需为 javac 也建立 alternatives,可类似注册并切换,确保开发与运行一致。
五 验证与常见问题处理
- 快速验证:
- java -version、javac -version 均返回期望版本;
- 查看环境变量:echo $JAVA_HOME(应返回实际安装路径)。
- 依赖问题:安装失败时可先启用 EPEL 仓库:sudo yum install -y epel-release,再重试安装。
- 防火墙与端口(运行 Web 应用时):
- 放行端口(示例 8080):sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 重载规则:sudo firewall-cmd --reload
- 简单程序测试:
- 保存为 HelloWorld.java
- 编译:javac HelloWorld.java
- 运行:java HelloWorld(输出 Hello, World! 表示环境可用)。