在 Ubuntu 上安装 Java,真正容易出问题的通常不是安装命令本身,而是版本选择、JAVA_HOME 路径和后续验证这几步。下面按“先装好、再配对、最后跑通”的顺序重写一遍流程,既保留原有命令,也把每一步该看什么结果、哪里最容易踩坑说明白。
更新系统包索引,先把基础环境准备好
在安装 JDK 之前,先更新系统的软件包索引和已安装组件,能减少依赖冲突和仓库缓存过旧带来的问题。
sudo apt update && sudo apt upgrade -y
执行完成后,APT 的索引和依赖关系会刷新到最新状态,后续安装 Java 和开发工具会更顺畅。
选择 JDK 版本:OpenJDK 17 适合大多数场景
Ubuntu 上常见的 Java 发行版主要有两类:OpenJDK 和 Oracle JDK。
- OpenJDK:开源、免费,绝大多数开发、学习和部署场景都够用,通常也是优先推荐的选择。
- Oracle JDK:更适合需要特定商业支持或明确依赖 Oracle 发行版的环境。
安装 OpenJDK 17(推荐)
以当前主流 LTS 版本 OpenJDK 17 为例,可以直接通过 APT 安装:
sudo apt install openjdk-17-jdk -y
安装 Oracle JDK(可选)
如果你的项目明确要求 Oracle JDK,可以先添加 PPA,再安装对应版本:
sudo add-apt-repository ppa:linuxuprising/java -y
sudo apt update
sudo apt install oracle-java17-installer -y
安装完成后,记得用版本命令确认 Java 已经可用。
正确配置 JAVA_HOME,这是最容易出错的一步
JAVA_HOME 是很多 Java 工具识别 JDK 安装位置时依赖的核心环境变量。这里最常见的错误,是把它写成 bin 目录,或者直接写错 JDK 根路径。正确做法是:JAVA_HOME 指向 JDK 安装目录本身,而不是 bin 目录。
先查出 JDK 的实际安装路径
可以使用 update-alternatives 查看当前 Java 路径:
sudo update-alternatives --config java
如果输出类似下面这样:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
那么 JAVA_HOME 应该设置为:
/usr/lib/jvm/java-17-openjdk-amd64
也就是去掉末尾的 /bin/java。
根据使用范围选择系统级或用户级配置
这一步通常有两种做法:
/etc/environment:系统级配置,对所有用户生效,适合统一环境。~/.bashrc:用户级配置,只对当前用户生效,更灵活。
两种方式任选其一即可。
方法一:修改 /etc/environment
sudo nano /etc/environment
在文件末尾添加:
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
PATH="$PATH:$JAVA_HOME/bin"
方法二:修改 ~/.bashrc
nano ~/.bashrc
在文件末尾添加:
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
export PATH="$PATH:$JAVA_HOME/bin"
让配置立即生效并检查结果
修改完成后,执行对应命令重新加载配置:
source /etc/environment # 若修改的是系统级文件
source ~/.bashrc # 若修改的是用户级文件
然后检查 JAVA_HOME:
echo $JAVA_HOME
如果输出的是 JDK 安装根目录,说明环境变量已经配置正确。
用 java 和 javac 双重验证环境是否可用
只看到 java 能运行还不够,最好同时检查运行时和编译器版本,确保 JDK 而不是只有 JRE 被正确装好。
java -version
# 应显示JDK版本信息(如OpenJDK 17)
javac -version
# 应显示javac编译器版本(与JDK版本一致)
这两个命令都能正常输出版本信息,才说明 Java 开发环境基本配置完成。
装了多个 Java 版本时,如何切换默认版本
如果你的 Ubuntu 同时安装了多个版本,比如 OpenJDK 8 和 OpenJDK 17,可以借助 update-alternatives 管理默认版本。
sudo update-alternatives --config java
终端会列出所有已安装的 Java 版本和编号,输入对应编号并回车,就能切换默认版本。对于需要兼容旧项目和新项目并存的机器,这一步很实用。
顺手装上 Maven 和 Gradle,后续开发会省很多事
JDK 装好只是开始。实际开发中,项目依赖管理、打包和构建通常还要靠 Maven 或 Gradle。
安装 Maven
sudo apt install maven -y
mvn -version
安装 Gradle
sudo apt install gradle -y
gradle -version
这两个工具安装完成后,多数 Java 项目的依赖拉取、编译和打包流程都能直接接起来。
IDE 怎么选:写代码、调试和管理项目会轻松很多
如果你不打算只在终端里写 Java,安装 IDE 会明显提升开发体验。常见选择如下。
IntelliJ IDEA Community Edition
适合主流 Java 开发场景,代码补全、项目管理和调试体验都比较完整:
wget https://download.jetbrains.com/idea/ideaIC-2025.2.tar.gz
sudo tar -zxvf ideaIC-2025.2.tar.gz -C /opt
sudo ln -s /opt/idea-IC-252.857.1/bin/idea.sh /usr/local/bin/idea
创建桌面快捷方式后,也可以直接通过 idea 命令启动。
Eclipse 与 NetBeans
如果你偏好传统 Java IDE,也可以直接安装:
sudo apt install eclipse -y
sudo apt install netbeans -y
Eclipse 更常见于企业级项目,NetBeans 对初学者也比较友好。
最后跑一个 HelloWorld,确认编译和运行都打通
最稳妥的收尾方式,是手动写一个最小 Java 程序,确认从源码到编译再到运行的整条链路都正常。
创建测试文件
nano HelloWorld.java
输入以下内容:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Java环境搭建成功!");
}
}
编译并运行
javac HelloWorld.java
# 编译生成.class文件
java HelloWorld
# 运行程序
如果终端输出 Java环境搭建成功!,说明这套 Ubuntu Java 环境已经可以用于正式开发。
结语:判断环境是否真的配好,关键看这三件事
回过头看,Ubuntu 上配置 Java 环境的关键并不在命令有多复杂,而在于三件事有没有真正做对:JDK 版本选对、JAVA_HOME 指向正确目录、java 和 javac 都能正常工作。只要这三步没有偏,后面的 Maven、Gradle、IDE 和项目运行一般都会顺畅很多。












