温馨提示×

debian下java编译版本怎么选

小樊
37
2026-09-14 07:18:12
栏目: 编程语言

在 Debian 下“选 Java 编译版本”通常包含 三件事

  1. 系统装了哪些 JDK
  2. 用哪个 java / javac 运行和编译
  3. 编译时指定目标字节码版本(source/target)

下面按场景说明。


一、查看已安装的 JDK

ls /usr/lib/jvm/

常见结果:

java-11-openjdk-amd64
java-17-openjdk-amd64
java-8-openjdk-amd64

查看当前默认版本:

java -version
javac -version

二、切换系统默认 JDK(update-alternatives)

Debian 用 update-alternatives 管理默认版本。

1. 配置 java / javac

sudo update-alternatives --config java
sudo update-alternatives --config javac

按提示选择编号即可。

2. 一键设置(示例:JDK 17)

sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac

三、编译时指定 Java 版本(非常重要)

1. 命令行编译

javac -source 11 -target 11 Hello.java

或更推荐(Java 9+):

javac --release 11 Hello.java

--release 会同时控制 source / target / bootclasspath,最安全


2. Maven 项目

pom.xml 中指定:

<properties>
  <maven.compiler.release>11</maven.compiler.release>
</properties>

或老写法:

<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>

3. Gradle 项目

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

或在 build.gradle

sourceCompatibility = 11
targetCompatibility = 11

四、常见建议(Debian 场景)

场景 推荐版本
老系统 / 旧项目 Java 8
普通服务 Java 11(LTS)
新项目 Java 17(LTS)
最新特性 Java 21

Debian 稳定版(bookworm)默认通常是 OpenJDK 17


五、安装指定 JDK(如 Java 8 / 17)

sudo apt update
sudo apt install openjdk-17-jdk
sudo apt install openjdk-8-jdk

六、快速自检清单

java -version
javac -version
update-alternatives --list java

如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/os-release
  • 用 Maven / Gradle / 纯命令行
  • 目标运行环境(Tomcat?Spring?容器?)

我可以直接给你最合适的版本配置方案

0