发布于2026-07-08 阅读(0)
扫一扫,手机访问
在日常维护中,Debian 系统下的 Ja va 环境突然“罢工”并不少见——可能是因为误操作、升级失败,甚至是硬盘故障导致配置丢失。别慌,只要摸清恢复的底层逻辑,这事儿并没想象中那么复杂。下面这份操作指南,基本能覆盖从“裸系统”到“多版本共存”的常见场景,按步骤来就好。

动手之前,先给重要数据(项目代码、数据库、配置文件这些)备个份,免得操作失误把业务搞崩。如果之前有过 Ja va 环境的备份(比如用 dpkg --get-selections 导出的包清单),那恢复起来就快多了。
如果系统之前是通过 apt 装的 Ja va(比如 OpenJDK),而且你还保存了 package.selections 文件,那直接走下面两步:
sudo dpkg --set-selections < package.selectionsdselect-upgrade 会把所有标记为“安装”的包自动装回去:sudo apt-get dselect-upgrade要是没备份,那也简单——直接用 apt 重新装。以 OpenJDK 11 为例:
sudo apt update
sudo apt install -y openjdk-11-jdk
装完后系统会自动把基础环境变量配好,省掉不少麻烦。
Ja va 程序能不能跑起来,关键看 JA VA_HOME 和 PATH 这两个变量有没有配置对。下面几步可以搞定。
先查一下 Ja va 可执行文件的实际位置:
sudo update-alternatives --config ja va
输出会类似这样:
There is 1 choice for the alternative ja va (providing /usr/bin/ja va).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va 1111 auto mode
看到 Path 那栏了吧?它的父目录就是 JA VA_HOME,比如这里的 /usr/lib/jvm/ja va-11-openjdk-amd64。
/etc/environment:sudo nano /etc/environment
在末尾添加(路径按实际替换):JA VA_HOME="/usr/lib/jvm/ja va-11-openjdk-amd64"
PATH="$JA VA_HOME/bin:$PATH"~/.bashrc 或 ~/.profile:nano ~/.bashrc
同样添加上述内容,保存后执行 source ~/.bashrc 让它立即生效。运行下面两行命令,确认配置没问题:
echo $JA VA_HOME
# 应该输出 Ja va 安装路径
echo $PATH
# 应该包含 $JA VA_HOME/bin
最后确认版本:
ja va -version
# 会显示类似 OpenJDK 11 的信息
ja vac -version # 如果装了 JDK,这里会显示编译器版本
如果你需要同时跑 Ja va 8 和 Ja va 11 这类多版本环境,update-alternatives 就是你的好帮手。
假设已经装了 Ja va 8(路径 /usr/lib/jvm/ja va-8-openjdk-amd64)和 Ja va 11,执行以下命令注册它们:
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-8-openjdk-amd64/bin/ja va 1
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va 2
sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/jvm/ja va-8-openjdk-amd64/bin/ja vac 1
sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja vac 2
想用哪个版本,直接切换:
sudo update-alternatives --config ja va
sudo update-alternatives --config ja vac
根据提示输入对应编号即可,切换瞬间完成。
Ja va 运行时如果报“缺少 libjli.so”这类错误,通常重装就能搞定:
sudo apt --reinstall install openjdk-11-jdk
如果还不行,用 ldd 命令看看缺失的具体是哪个库,然后通过 apt install 补装对应的依赖包。
Spring Boot 这类 Ja va 服务启动失败,通常是这三个原因:
/var/log/syslog)或应用日志(比如 /opt/app/logs/app.log),错误信息会告诉你真相。systemctl 重启一下:sudo systemctl restart myja vaserviceJA VA_HOME。可以在服务配置文件(如 /etc/systemd/system/myja vaservice.service)中显式指定:Environment="JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64"
改完别忘了执行 systemctl daemon-reload 让配置生效。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8