温馨提示×

Java编译器在Debian如何更新

小樊
49
2026-01-01 15:08:05
栏目: 编程语言

在 Debian 上更新 Java 编译器 javac 的推荐做法


一、通过 APT 更新到仓库最新版本

  • 更新索引并安装或升级 JDK(Debian 的 default-jdk 会指向仓库默认的最新稳定版;也可指定具体版本如 openjdk-17-jdk):
    sudo apt update
    sudo apt install --only-upgrade default-jdk
    # 或
    sudo apt install openjdk-17-jdk
    
  • 验证更新结果(同时查看运行时与编译器版本):
    java -version
    javac -version
    
  • 说明:Debian 稳定版的仓库通常不会提供“最新上游”的 JDK,如需更新到更新的大版本,请参考下文的手动安装方案。

二、切换已安装的多版本 JDK(update-alternatives)

  • 查看与切换 javajavac 的默认版本(确保两者指向同一 JDK,避免运行时与编译期不一致):
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    
  • 按需选择编号完成切换;如列表为空,请先安装对应版本的 openjdk--jdk

三、安装或切换到更新版本的 JDK(手动方式)

  • 适用于需要 JDK 17/21 等新版本而仓库版本较旧的情况:
    1. 从官方渠道下载 .tar.gz 的 JDK(OpenJDK 或 Oracle JDK),解压到 /usr/local(或 /opt):
      sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/local/
      
    2. 将新 JDK 加入 alternatives(路径按实际解压目录调整):
      sudo update-alternatives --install /usr/bin/java  java  /usr/local/jdk-17/bin/java  100
      sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk-17/bin/javac 100
      
    3. 使用 --config 选择新版本,或 --set 直接指定:
      sudo update-alternatives --config java
      sudo update-alternatives --config javac
      # 或
      sudo update-alternatives --set java  /usr/local/jdk-17/bin/java
      sudo update-alternatives --set javac /usr/local/jdk-17/bin/javac
      
    4. 验证:
      java -version
      javac -version
      
  • 提示:手动安装不会由 APT 自动升级,后续需自行重复上述步骤或编写切换脚本。

四、设置 JAVA_HOME 与环境一致性(可选但推荐)

  • 查找实际安装路径(两种方式其一):
    readlink -f "$(which java)"
    # 或
    update-alternatives --list java
    
  • ~/.bashrc/etc/environment 中设置(以实际路径为准):
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 使配置生效:
    source ~/.bashrc
    # 或
    source /etc/environment
    
  • 注意:仅设置 JAVA_HOME 不会改变默认 java/javac,请配合 update-alternatives 使用。

0