温馨提示×

Debian Java如何定制安装

小樊
39
2025-12-24 17:22:01
栏目: 编程语言

Debian Java 定制安装与多版本管理

一 安装前准备与版本选择

  • 更新索引并确认可用版本:sudo apt update;apt search openjdk 查看仓库中的 OpenJDK 版本(如 8/11/17/21)。
  • 选择策略:生产常用 LTS(如 11/17/21);开发与兼容性需求可保留 8
  • 建议将 JDK 统一放在 /usr/lib/jvm/,便于管理与切换。
  • 多用户或系统级服务建议用 update-alternatives 管理默认版本;个人开发可用 SDKMAN 快速切换。

二 方式一 APT 安装 OpenJDK(推荐)

  • 安装运行时或开发套件:
    • sudo apt install default-jre
    • sudo apt install default-jdk
    • 或指定版本:sudo apt install openjdk-17-jdk / openjdk-11-jdk
  • 验证:java -version、javac -version。
  • 说明:APT 安装便于安全更新与依赖管理,是最简便、可维护的定制方式。

三 方式二 手动安装 Oracle JDK 或压缩包 JDK(便于精确版本控制)

  • 通用步骤
    1. 从官方站点下载 .tar.gz(或 .deb)包。
    2. 解压到统一目录:sudo tar zxvf jdk-xx_linux-x64_bin.tar.gz -C /usr/lib/jvm
    3. 使用 update-alternatives 注册并切换:
      • sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-xx/bin/java 200
      • sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-xx/bin/javac 200
      • 交互选择:sudo update-alternatives --config java(同法配置 javac)。
    4. 验证:java -version、javac -version。
  • 安装 .deb 包(若下载到 .deb):sudo dpkg -i jdk-xx_linux-x64_bin.deb
  • 说明:手动安装适合需要特定小版本或厂商 JDK 的场景;用 alternatives 可避免 PATH 混乱。

四 环境变量与系统级配置

  • 全局生效(推荐):编辑 /etc/environment,添加:JAVA_HOME=“/usr/lib/jvm/java-17-openjdk-amd64”(路径按实际调整);执行 source /etc/environment 后,echo $JAVA_HOME 验证。
  • 用户级生效:编辑 ~/.bashrc~/.zshrc,添加:
    • export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    • export PATH=$JAVA_HOME/bin:$PATH
      执行 source ~/.bashrc 生效。
  • 注意:避免重复设置 PATH;若使用 alternatives,java/javac 已由 alternatives 接管,环境变量主要用于应用读取 JAVA_HOME。

五 多版本共存与切换 以及卸载清理

  • 多版本共存与切换
    • 注册多个版本到 alternatives(见第三部分),用 sudo update-alternatives --config java 交互选择;必要时为 javac 单独配置。
    • 开发/测试场景可用 SDKMAN:curl -s “https://get.sdkman.io” | bash;source “$HOME/.sdkman/bin/sdkman-init.sh”;sdk list java;sdk install java 17.0.9-open;sdk use java 17.0.9-open
  • 卸载与清理
    • APT 安装:sudo apt remove --purge openjdk-17-jdk;必要时 apt autoremove。
    • 手动安装:sudo update-alternatives --remove java /usr/lib/jvm/jdk-xx/bin/java;sudo update-alternatives --remove javac /usr/lib/jvm/jdk-xx/bin/javac;确认无进程占用后 rm -rf /usr/lib/jvm/jdk-xx
    • 清理环境变量:从 /etc/environment~/.bashrc 移除对应行并重新加载。

0