温馨提示×

CentOS Java编译工具如何选择

小樊
40
2025-12-25 14:33:32
栏目: 编程语言

CentOS Java编译工具选择指南

一 选择维度与推荐

  • 明确目标:仅运行程序选 JRE;需要编译代码必须选 JDK(包含 javac)。使用构建工具(如 Maven/Gradle)时同样依赖 JDK。
  • 版本策略:优先选择 LTS 版本(如 Java 8 / 11 / 17)。新项目建议 Java 17;维护存量系统常选 Java 8/11
  • 发行版选择:服务器环境推荐 OpenJDK(仓库易装、维护方便);若依赖特定厂商特性或合规要求,再考虑 Oracle JDK
  • 安装方式:优先用 yum/dnf 安装带 “-devel” 的开发包;需要特定版本或离线环境时,再选 手动解压安装
  • 构建工具:简单项目用 javac 即可;多模块/依赖复杂项目用 MavenGradle 提升效率与一致性。

二 场景化推荐组合

场景 推荐JDK版本 安装方式 构建工具 备注
维护老项目、依赖广泛 Java 8Java 11 yum 安装 java-*-openjdk-devel Maven 或 Gradle 生态成熟、兼容性好
新项目、希望新特性 Java 17 yum 安装 java-17-openjdk-devel Maven 或 Gradle 当前主流 LTS
最小化CLI编译 与项目一致 yum 安装 java-*-openjdk-devel javac 轻量快速
需要特定厂商JDK或特定小版本 Oracle JDK 或指定版本 手动解压配置 Maven/Gradle 注意许可证与兼容性
多JDK并存、需切换 8/11/17 并存 alternatives 或手动切换 JAVA_HOME Maven/Gradle 建议按项目设置工具链

三 快速安装与验证

  • 安装编译器(以 Java 17 为例):
    sudo yum install -y java-17-openjdk-devel
    验证:java -version 与 javac -version 均应返回版本信息。
  • 安装构建工具:
    Maven:sudo yum install -y maven;验证:mvn -version
    Gradle:下载二进制包至 /opt/gradle,解压并配置环境变量:
    export GRADLE_HOME=/opt/gradle/gradle-
    export PATH=$PATH:$GRADLE_HOME/bin
    验证:gradle -v
  • 环境变量(可选,便于多版本管理):
    echo ‘export JAVA_HOME=/usr/lib/jvm/java-17-openjdk’ >> ~/.bashrc
    echo ‘export PATH=$JAVA_HOME/bin:$PATH’ >> ~/.bashrc
    source ~/.bashrc
  • 注意:仅安装 java-1.8.0-openjdk(无 -devel)会导致 Maven 报错 “No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?”,请务必安装带 -devel 的包。

四 常见问题与排查

  • 报错 “No compiler is provided … JRE rather than a JDK”:未装 JDK 或装成了 JRE,请安装 java-*-openjdk-devel
  • 多版本并存与切换:使用 alternatives 或显式设置 JAVA_HOME 指向目标 /usr/lib/jvm/java--openjdk,并确保构建工具使用该 JDK(如 mvn -version 显示正确路径)。
  • 手动安装后命令找不到:检查 PATH 是否包含 $JAVA_HOME/bin,必要时在 /etc/profile~/.bashrc 中导出 JAVA_HOME/PATH 并 source 使其生效。
  • 构建工具版本兼容:确认 Maven/Gradle 版本与所用 JDK 兼容(新版本工具通常支持较新的 JDK)。

0