在 Debian 上设置 Java 路径,通常分为 配置 JAVA_HOME、加入 PATH、以及 设置系统默认 Java 三种情况。下面按常见场景说明。
java -version
如果未安装,可以用 apt 安装(以 OpenJDK 11 为例):
sudo apt update
sudo apt install openjdk-11-jdk
查看 Java 安装路径:
readlink -f $(which java)
一般路径类似:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
那么 JAVA_HOME 就是:
/usr/lib/jvm/java-11-openjdk-amd64
编辑用户环境变量文件:
nano ~/.bashrc
在末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
使配置生效:
source ~/.bashrc
验证:
echo $JAVA_HOME
java -version
sudo nano /etc/profile.d/java.sh
写入:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
赋予执行权限:
sudo chmod +x /etc/profile.d/java.sh
重新登录或执行:
source /etc/profile
如果系统安装了多个 Java 版本:
sudo update-alternatives --config java
选择对应编号即可。
同时设置 javac:
sudo update-alternatives --config javac
很多程序只认 JAVA_HOME,例如:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
在 systemd 服务中可这样写:
[Service]
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
✅ java 能运行,但 JAVA_HOME 为空
→ 需要手动 export
✅ 重启后失效
→ 写到了临时终端,未写入 .bashrc 或 profile.d
✅ 找不到 java 路径
sudo update-alternatives --list java
如果你能说明 用途(普通运行 / Tomcat / Docker / Jenkins / 某个服务),我可以给你更精确的配置方式。