Debian下Java版本如何切换
作者:小确幸
时间:2026-06-29
浏览:0
在Debian系统中,可通过APT或手动下载安装多个Java版本。APT安装提供稳定版,手动安装可获取最新版。通过update-alternatives进行系统级切换,或配置环境变量实现用户级切换。高级用户可使用JEnv工具,按项目目录自动切换,无需手动配置,极大提升开发效率。
在Debian这类Linux发行版上,同时维护多个Ja va版本几乎是开发运维中的家常便饭——老项目可能死守着JDK 8,新应用又要求JDK 11甚至17。怎么让它们和平共处、随时按需切换?下面这套操作流程,基本覆盖了从系统级到用户级的常见方案,可以直接照着来。
Debian下Ja va版本切换的详细步骤
1. 安装多个Ja va版本
首先,得先把需要切换的Ja va版本装进系统里。有两种主流途径:

- 用APT安装OpenJDK(推荐):Debian官方仓库里OpenJDK的版本很全,一条命令就能搞定:
sudo apt update sudo apt install openjdk-8-jdk # 安装OpenJDK 8 sudo apt install openjdk-11-jdk # 安装OpenJDK 11 sudo apt install openjdk-17-jdk # 安装OpenJDK 17(可选) - 手动安装特定版本(比如Oracle JDK):如果项目强制要求Oracle JDK或Adoptium发行版,可以先去官网下载对应的压缩包(例如
jdk-11.0.xx-linux-x64.tar.gz),然后解压到/usr/lib/jvm目录:sudo tar -zxvf jdk-11.0.xx-linux-x64.tar.gz -C /usr/lib/jvm
2. 使用update-alternatives管理版本(系统级切换)
Debian自带的好东西——update-alternatives,专治各种多版本混乱。它能直接控制系统默认的ja va命令指向哪个版本。
- 先看看已经装了哪些Ja va版本:
如果命令没列出所有版本,说明它们还没注册进alternatives系统,需要手动加一下:sudo update-alternatives --list ja va
(数字100、200是优先级,越大越优先)sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-8-openjdk-amd64/bin/ja va 100 sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va 200 - 交互式切换版本:运行下面这个命令,终端会列出所有候选版本,输入对应的数字就能瞬间切换:
示例输出长这样:sudo update-alternatives --config ja va
输入There are 2 choices 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 200 auto mode 1 /usr/lib/jvm/ja va-8-openjdk-amd64/bin/ja va 100 manual mode 2 /usr/lib/jvm/ja va-11-openjdk-amd64/bin/ja va 200 manual mode1就切到JDK 8,输入2就切回JDK 11。 - 直接设置默认版本:如果你不想进交互菜单,可以直接指定路径:
sudo update-alternatives --set ja va /usr/lib/jvm/ja va-8-openjdk-amd64/bin/ja va
3. 配置环境变量(可选,用户级切换)
如果只想为当前用户单独设置某个Ja va版本,不需要动系统全局,那就改环境变量。
- 编辑
~/.bashrc(也可以改~/.profile或~/.zshrc,看你用的哪个shell):
在末尾追加(以OpenJDK 8为例):nano ~/.bashrcexport JA VA_HOME=/usr/lib/jvm/ja va-8-openjdk-amd64 export PATH=$JA VA_HOME/bin:$PATH - 让配置生效:
source ~/.bashrc - 确认一下
JA VA_HOME是否设置成功:echo $JA VA_HOME
4. 验证切换结果
无论用哪种方式换完版本,都别忘了跑一下这个命令确认:
ja va -version
切到OpenJDK 8后,输出应该是这样的:
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (build 1.8.0_392-8u392-b13-1~deb12u1)
OpenJDK 64-Bit Server VM (build 25.392-b13, mixed mode)
5. 可选:使用JEnv工具(高级用户)
如果觉得系统级切换和手动配环境变量还是不够灵活(比如想针对不同项目自动切换),可以试试jenv——思路跟Node.js的nvm类似。
- 安装JEnv:
wget https://github.com/jenv/jenv/releases/download/1.2.0/jenv-1.2.0.tar.gz tar xzf jenv-1.2.0.tar.gz sudo mv jenv-1.2.0 /usr/local/bin - 配置环境变量:编辑
~/.bashrc,添加:echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(jenv init -)"' >> ~/.bashrc source ~/.bashrc - 把已安装的Ja va版本添加到JEnv:
jenv add /usr/lib/jvm/ja va-8-openjdk-amd64 jenv add /usr/lib/jvm/ja va-11-openjdk-amd64 - 设置全局版本或项目级版本:
jenv global 1.8 # 全局切到Ja va 8 jenv local 11 # 当前目录用Ja va 11(会生成一个`.ja va-version`文件,进目录自动生效)
通过上面这些步骤,不管是要系统全局统一版本,还是想在单个项目里做精细化控制,Debian都能轻松搞定。
作者最新文章
Photoshop抠图教程详细步骤图解:新手入门常用方法与技巧
2026-09-22 14:38
Windows 10
2026-09-16 17:44
Python安装后怎么打开:使用IDLE或命令行启动解释器
2026-09-16 13:54
Windows系统Python安装教程:下载、勾选PATH及环境变量配置
2026-09-16 13:53
“等灯不计时”落地解析:算法善意如何转化为技术能力与生态协同
2026-09-08 18:03
上一篇:
Debian如何调整PHP内存限制
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































