Debian 选择 Java 版本的可操作指南
一 选择依据
二 版本选择建议
| 场景 | 推荐版本 | 说明 |
|---|---|---|
| 新项目、无历史包袱 | OpenJDK 21 LTS | 当前广泛采用的 LTS,生态与工具链支持完善,适合长期维护。 |
| Spring Boot 3.x | OpenJDK 17+ | Spring Boot 3 要求 Java 17+。 |
| Spring Boot 2.x | OpenJDK 8 或 11 | 2.x 在 8/11 上运行最稳妥。 |
| Android 开发 | OpenJDK 11 | Android Gradle 插件通常要求 JDK 11 作为构建 JDK。 |
| 仅运行旧应用(无法升级) | OpenJDK 8 | 传统应用常见依赖,仍可在 Debian 仓库获取。 |
| 需要 Oracle 商业特性 | Oracle JDK | 从 Oracle 官网获取并遵循许可协议。 |
| 快速上手/默认 | default-jdk | 安装 Debian 默认 JDK,适合“先跑起来”。 |
三 安装与切换步骤
sudo apt update && sudo apt install default-jdkjava -version、javac -versionsudo apt install openjdk-8-jdksudo apt install openjdk-11-jdksudo apt install openjdk-17-jdksudo apt install openjdk-21-jdksudo update-alternatives --config javasudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 100sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 100java -versionecho 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc && source ~/.bashrcecho 'JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"' | sudo tee -a /etc/environment && source /etc/environment四 兼容性与常见问题
-source/-target 控制字节码版本。update-alternatives 正确切换 java/javac,避免 PATH 顺序混乱;必要时仅为当前会话设置 JAVA_HOME 做隔离测试。echo $JAVA_HOME 与 which java 是否一致;确认修改的是当前使用的 shell 配置文件(如 ~/.bashrc、~/.zshrc)或系统级 /etc/environment,并重新加载。/etc/default/tomcat),并重启服务以生效。