Ubuntu如何配置Java编译器
在Ubuntu上配置Java编译器需安装Java开发工具包,推荐使用软件包管理器安装开源Java开发工具包或手动安装甲骨文Java开发工具包。配置环境变量分用户级和系统级,并通过替代版本管理工具管理多版本。最后使用java版本命令等验证安装。
Ubuntu配置Ja va编译器(JDK)详细步骤

在Ubuntu上搭建Ja va开发环境,核心就是搞定JDK的安装与环境变量配置。这件事听起来简单,但实际踩坑的人并不少——要么是版本对不上,要么是环境变量死活不生效。下面直接进入正题,把整个过程拆解清楚。
1. 安装Ja va Development Kit (JDK)
Ja va编译器(ja vac)是JDK自带的,所以第一步就是装JDK。Ubuntu官方仓库里提供的是OpenJDK,开源、省心,推荐大多数场景使用。当然,如果你需要Oracle官方的JDK版本,也可以手动下载安装。
1.1 使用APT安装OpenJDK(推荐)
先更新软件包列表,这步不能省,不然可能装到老版本:
sudo apt update装默认JDK,目前Ubuntu 22.04装的是OpenJDK 11,适配绝大多数Ja va应用:
sudo apt install openjdk-11-jdk如果需要特定版本(比如OpenJDK 8或17),先查一下仓库有哪些:
apt search openjdk找到后直接指定版本号安装,比如:
sudo apt install openjdk-17-jdk
1.2 手动安装Oracle JDK(可选)
如果你需要Oracle官方版本,比如Ja va 17 LTS,那就得手动走一遍流程了:
从Oracle官网下载Linux x64版本的
.tar.gz安装包(比如jdk-17_linux-x64_bin.tar.gz)。在
/usr/lib/jvm/目录下建个文件夹,然后把安装包解压过去:sudo mkdir -p /usr/lib/jvm sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/jvm/为了后续管理方便,可以把解压后的文件夹重命名一下:
sudo mv /usr/lib/jvm/jdk-17 /usr/lib/jvm/ja va-17-oracle
2. 配置Ja va环境变量
环境变量这事儿,说白了就是告诉系统“JDK装在哪了”。配不好,命令找不到,源码也编译不了。这里推荐两种方式:用户级配置(只对当前用户生效)或系统级配置(所有用户通用)。新手建议先用用户级,出了问题不影响其他人。
2.1 确认Ja va安装路径
装好之后,先查一下JDK到底在哪个目录:
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
注意看,JA VA_HOME就是去掉末尾的/bin/ja va,所以上面这个例子对应的路径是:/usr/lib/jvm/ja va-11-openjdk-amd64。记下来,后面配置要用。
2.2 配置用户级环境变量(推荐)
编辑当前用户的~/.bashrc文件:
nano ~/.bashrc
在文件末尾追加以下内容,记得把路径换成你自己的:
export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64
export PATH=$JA VA_HOME/bin:$PATH
保存退出(Ctrl+O → Enter → Ctrl+X),然后让配置生效:
source ~/.bashrc
2.3 配置系统级环境变量(可选)
如果你希望系统上所有用户都使用同一套配置,直接改/etc/environment文件(需要管理员权限):
sudo nano /etc/environment
在文件末尾添加:
JA VA_HOME="/usr/lib/jvm/ja va-11-openjdk-amd64"
PATH="$PATH:$JA VA_HOME/bin"
注意,这里不需要export关键字。保存退出后,执行以下命令让配置立即生效:
source /etc/environment
3. 验证配置
这才是检验成果的关键一步。打开终端,依次跑下面几个命令:
检查Ja va版本:
ja va -version输出示例:
openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-1ubuntu0.22.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-1ubuntu0.22.04.1, mixed mode)检查Ja va编译器版本:
ja vac -version输出示例:
ja vac 11.0.15检查
JA VA_HOME是否正确:echo $JA VA_HOME输出应该和你配置的路径一致,比如
/usr/lib/jvm/ja va-11-openjdk-amd64。
4. 可选:管理多个Ja va版本
开发中常会遇到不同项目需要不同Ja va版本的情况。Ubuntu的update-alternatives机制可以轻松切换默认版本:
列出所有已安装的Ja va版本:
sudo update-alternatives --config ja va系统会列出每个版本的编号,输入对应的编号即可切换。比如想切到OpenJDK 11,输入
0再回车就可以。
常见问题解决
- 命令找不到:如果输入
ja va或ja vac提示未找到命令,多半是PATH变量没配好,或者忘记执行source了。重新检查一下$JA VA_HOME/bin是否在PATH里。 - 版本对不上:如果
ja va -version和ja vac -version显示的版本不一致,用update-alternatives --config ja va检查默认版本,或者干脆直接修改JA VA_HOME路径指向正确的版本。 - 配置不生效:确认你修改的是正确配置文件。用户级用
~/.bashrc,系统级用/etc/environment。改完后要么重新登录,要么重启终端,或者再跑一次source。


































