温馨提示×

Java编译Ubuntu版本兼容性

小樊
41
2025-11-18 21:59:13
栏目: 编程语言

Java 编译与 Ubuntu 版本兼容性指南

一 兼容性速览

  • 下表汇总了常见 Ubuntu LTS 与常用 JDK 的可用性与推荐组合,便于快速选型与部署。
Ubuntu 版本 可用 OpenJDK 推荐用途
16.04 LTS 8、11 传统项目、维护旧系统
18.04 LTS 8、11 稳定生产环境
20.04 LTS 8、11、17 推荐 1117
22.04 LTS 8、11、17 推荐 17
24.04 LTS 通常包含 11、17、21 推荐 1721
  • 说明:
    • 上表为系统仓库常见可用版本,实际以仓库为准;若需 Java 21,在 20.04/22.04 可通过 JDK 21 的官方 .deb 包SDKMAN 安装。
    • 多数场景下,选择与项目要求一致的 LTS JDK 即可;新项目优先 Java 17/21

二 版本对应关系与默认 JDK

  • Ubuntu 各版本默认捆绑/仓库优先的 OpenJDK 大致如下(不同小版本可能略有差异):
    • 16.04OpenJDK 8
    • 18.04OpenJDK 8
    • 20.04OpenJDK 11
  • 如需确认本机默认版本,可执行:java -version、javac -version。上述对应关系有助于判断是否需要手动切换或安装其他版本。

三 在 Ubuntu 上安装与切换 JDK 的要点

  • 安装示例(以 OpenJDK 11 为例):
    • 更新索引并安装:sudo apt update && sudo apt install openjdk-11-jdk
    • 验证:java -version、javac -version
  • 多版本并存与切换:
    • 使用 alternatives 切换默认 java/javac:sudo update-alternatives --config java、sudo update-alternatives --config javac
    • 设置环境变量(示例为 OpenJDK 11,路径以本机为准):
      • 编辑 /etc/environment:JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”
      • 在 PATH 中追加:$JAVA_HOME/bin
      • 使生效:source /etc/environment
  • 以上步骤覆盖安装、验证与切换的关键环节,适用于大多数 Ubuntu 版本。

四 常见兼容性问题与规避

  • 构建链与工具链要求:
    • 编译 Android AOSP master 分支需 64 位 Ubuntu;AOSP 仓库自带 OpenJDK 8(platform/prebuilts/jdk/jdk8),无需额外安装。
    • 对于 Ubuntu 14.04,官方 OpenJDK 8 包不可用;可使用 15.04 的 OpenJDK 8 .deb 在 14.04 上安装(注意依赖处理)。
  • 版本不匹配导致的构建失败:
    • 若构建脚本对 Java 版本有硬性要求,使用 alternatives 明确指向所需版本,或在构建配置中显式设置 JAVA_HOME,避免误用系统默认 JDK。

0