温馨提示×

Java在CentOS上的配置教程

小樊
44
2025-12-21 09:42:48
栏目: 编程语言

在 CentOS 上配置 Java 的完整教程

一 准备与版本选择

  • 更新系统软件包,减少依赖冲突:sudo yum update -y
  • 选择 JDK 版本
    • 运行环境优先:OpenJDK Runtime(如 java-11-openjdk)
    • 开发编译需要:OpenJDK Development(如 java-11-openjdk-devel,包含 javac)
  • 常见版本:Java 8(LTS)Java 11(LTS),建议优先选择 LTS。

二 安装方式

  • 方式一 YUM 安装 OpenJDK(推荐)
    • 安装 Java 8:sudo yum install -y java-1.8.0-openjdk-devel
    • 安装 Java 11:sudo yum install -y java-11-openjdk-devel
    • 验证:java -version 与 javac -version 均应返回版本信息
  • 方式二 手动安装 Oracle JDK 或 OpenJDK(.tar.gz)
    • 下载并解压:tar xzf jdk--linux-x64.tar.gz
    • 移动到统一目录:sudo mv jdk /usr/local/java
    • 说明:手动安装便于多版本并存与精确控制路径。

三 配置环境变量与多版本切换

  • 查找安装路径
    • 列出候选:sudo update-alternatives --config java
    • 精确查找:sudo find / -name java 2>/dev/null(常见路径如 /usr/lib/jvm//usr/local/java/jdk
  • 设置 JAVA_HOME 与 PATH(全局生效,推荐)
    • 新建脚本:sudo nano /etc/profile.d/java.sh
    • 写入示例(请替换为实际路径):
      • OpenJDK 11:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
      • 手动 JDK:export JAVA_HOME=/usr/local/java/jdk1.8.0_311
      • 通用:export PATH=$JAVA_HOME/bin:$PATH
    • 使生效:source /etc/profile.d/java.sh
  • 多版本切换
    • 交互选择:sudo update-alternatives --config java
    • 按需为 java/javac 分别设置:sudo update-alternatives --config java 与 sudo update-alternatives --config javac
  • 验证
    • 版本:java -version、javac -version
    • 路径:echo $JAVA_HOME(应返回你设置的目录)

四 运行与验证示例

  • 编译并运行 HelloWorld.java
    • 保存源码:nano HelloWorld.java
    • 编译:javac HelloWorld.java
    • 运行:java HelloWorld
  • 若提示“command not found”,请检查 PATH 是否包含 $JAVA_HOME/bin

五 常见问题与扩展

  • 常见问题
    • 架构不匹配:确保下载 x86_64 与系统一致
    • 命令未找到:确认 JAVA_HOME/bin 已加入 PATH 并已执行 source
    • 权限问题:手动安装目录与脚本注意权限设置
  • 扩展工具(可选)
    • Maven:export M2_HOME=/opt/maven;export PATH=$M2_HOME/bin:$PATH;验证:mvn -version
    • Gradle:export GRADLE_HOME=/opt/gradle;export PATH=$GRADLE_HOME/bin:$PATH;验证:gradle -v
  • Web 部署提示(Tomcat)
    • 启动后若无法访问 http://服务器IP:8080,放行防火墙:
      • sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
      • sudo firewall-cmd --reload

0