温馨提示×

debian配置java要注意啥

小樊
36
2026-10-08 02:05:27
栏目: 编程语言

在 Debian 上配置 Java,主要注意版本选择、安装方式、环境变量、多版本管理和权限/安全几个方面。下面按实用角度说。


一、先想清楚:用哪个 Java

常见有:

  • OpenJDK(Debian 官方仓库自带,推荐)
  • Oracle JDK(需手动下载,注意许可证)
  • Adoptium / Eclipse Temurin(生态常用,适合生产)

一般建议:

  • 服务器:OpenJDK 或 Temurin
  • 学习/开发:OpenJDK 即可
  • 老项目:注意 JDK 8 / 11 / 17 兼容性

二、安装方式(推荐顺序)

1️⃣ 用 apt 安装 OpenJDK(最简单)

sudo apt update
sudo apt install openjdk-17-jdk

常用版本:

openjdk-8-jdk
openjdk-11-jdk
openjdk-17-jdk
openjdk-21-jdk

只跑程序不编译:

sudo apt install openjdk-17-jre

2️⃣ 手动安装(Oracle / Temurin)

适合:

  • 指定小版本
  • 生产环境统一版本

步骤示例(Temurin):

tar -xzf OpenJDK17.tar.gz -C /opt

三、环境变量怎么配(重点)

✅ 推荐做法(系统级)

编辑:

sudo nano /etc/profile.d/java.sh

内容:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

⚠️ 不要直接改 /etc/profile 本身


❌ 不推荐

  • 只改 ~/.bashrc(影响不到 systemd 服务)
  • 手动写死 PATH 不设置 JAVA_HOME

四、多版本 Java 怎么切

Debian 自带工具:

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

查看已安装:

ls /usr/lib/jvm/

设置默认:

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

五、验证是否配置成功

java -version
javac -version
echo $JAVA_HOME

六、systemd 服务注意点(很重要)

如果你用 Java 写服务:

[Service]
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/usr/bin/java -jar /opt/app/app.jar

⚠️ systemd 不会读 .bashrc / profile


七、常见坑

1️⃣ java: command not found

  • 没装 JDK,只装了 JRE
  • PATH 没生效

2️⃣ 项目报 UnsupportedClassVersionError

  • JDK 版本太低
  • 编译和运行版本不一致

3️⃣ 权限问题

  • /opt 下 Java 目录权限不对
  • jar 文件不可执行

4️⃣ 安全更新

sudo apt upgrade

OpenJDK 会通过 Debian 安全更新维护


八、生产环境建议

✅ 用 LTS 版本(11 / 17 / 21)
✅ 固定 JAVA_HOME
✅ 用 systemd 管理
✅ 不用 root 跑 Java(除非必要)
✅ 定期 apt update


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

  • Debian 版本(11 / 12?)
  • 用途(服务器 / 开发 / Docker)
  • Java 项目类型(Spring / Android / 普通 jar)

我可以直接给你一套针对性配置方案。

0 踩