1. 什么是 Java?何时需要在 Ubuntu 上使用 Java?
Java 属于哪种编程语言?
Java 是一种面向对象的编程语言,广泛应用于全球。它的核心设计原则之一是 “一次编写,随处运行”,这意味着应用程序可以在不同的操作系统和设备上运行而无需修改。
Java 被用于各种开发场景,包括桌面应用、Web 应用以及移动应用(尤其是 Android 开发)。它在大规模企业系统和金融系统中也被大量使用,因而成为当今最持久且活跃使用的编程语言之一。
Java 在 Ubuntu 上的作用
即使在基于 Linux 的操作系统(如 Ubuntu)上,Java 也扮演着重要角色。以下情况需要使用 Java:
1. 运行基于 Java 的应用程序
许多应用是用 Java 开发的,需要 Java 运行时环境(JRE)才能运行。例如,Eclipse、IntelliJ IDEA 等开发工具,以及 DBeaver 等数据库管理工具,如果没有 Java 都无法启动。
2. 构建 Java 开发环境
想要在 Ubuntu 上学习 Java 编程或开发 Java 应用,安装 Java 开发工具包(JDK)是必不可少的。Ubuntu 作为开发平台非常流行,并且与 Java 配合良好,这种组合被开发者广泛采用。
3. 运行服务器应用程序
Java 是许多 Web 服务器和框架(如 Tomcat、Spring Boot)的基础。在 Ubuntu 服务器上运行基于 Java 的 Web 应用时,必须具备 Java 环境。
小结:Ubuntu 与 Java 完美匹配
由于 Ubuntu 开源且轻量,它与跨平台语言 Java 配合得非常好。在 Ubuntu 上安装 Java 可以满足从应用使用到开发再到服务器运维的各种需求。
2. Ubuntu 上的 Java 选项(OpenJDK 与 Oracle JDK)
Ubuntu 上可用的 Java 选择
在 Ubuntu 上主要有两种 Java 开发环境可供选择:OpenJDK 和 Oracle JDK。
两者都可以用于运行和开发 Java 程序,但在授权、发行方式和支持方面有所不同。选择合适的 JDK 取决于你的目的和使用场景。
什么是 OpenJDK?(Ubuntu 的默认 JDK)
OpenJDK(Open Java Development Kit) 是 Java 的开源实现。最初由 Sun Microsystems(现为 Oracle)主导,随后通过开源社区持续演进。
Ubuntu 将 OpenJDK 设为默认的 Java 环境,可通过 apt 命令轻松安装。
OpenJDK 的主要特性
- 完全免费,包含商业使用
- 可直接从 Ubuntu 官方仓库安装
- 定期安全更新
- 稳定性高,广泛用于企业环境
如果没有特殊需求,OpenJDK 通常是最佳且最安全的选择。
什么是 Oracle JDK?(官方支持的 JDK)
Oracle JDK 是 Oracle 官方提供的 Java 实现。它基于 OpenJDK,但可能包含额外的优化或集成。
然而,它的许可证不同,商业使用可能需要付费许可证。个人或教育用途一般是被允许的。
Oracle JDK 的主要特性
- 官方 Oracle 支持与维护
- 商业使用需确认许可证
- 安全补丁发布快速
- 包含部分 OpenJDK 未提供的额外功能
在 Ubuntu 上安装需要手动下载官方安装包并进行设置。
OpenJDK 与 Oracle JDK 的差异对比
| Category | OpenJDK | Oracle JDK |
|---|---|---|
| Provider | Open-source community | Oracle Corporation |
| License | GPL + Classpath Exception | Oracle Binary Code License (commercial use requires caution) |
| Cost | Free | Paid for some commercial use cases |
| Typical Use | General development, learning, internal tools | Commercial services, large-scale operations |
| Installation | Easy via apt | Manual download and setup |
结论:大多数 Ubuntu 用户推荐使用 OpenJDK
对大多数用户而言,在 Ubuntu 上设置 Java 时 OpenJDK 已足够。它可靠且兼容大多数框架和库。
如果您需要官方支持或企业级保障,Oracle JDK 可能是一个选项。请选择最适合您需求的 JDK。
3. 在 Ubuntu 上安装 Java 前的准备工作
安装前需要检查的事项
在 Ubuntu 上安装 Java 并不困难,但进行一些准备工作可以确保过程顺利。对于初学者或已有大量软件包的系统尤为重要。
1. 更新软件包列表
Ubuntu 使用 APT(Advanced Package Tool)来管理软件。如果软件包列表过时,可能找不到 Java 包或获取的版本已过时。
使用以下命令更新软件包列表:
sudo apt update
这可确保 APT 使用最新的可用软件包信息来安装 Java。
2. 检查已有的 Java 安装
旧的 Java 包可能会与新安装产生冲突。
检查当前的 Java 版本:
java -version
如果显示了版本号,说明系统可能已经安装了 Java。在重新安装之前先卸载它可以帮助避免问题。
3. 确认管理员(sudo)权限
安装 Java 需要进行系统级更改,因此需要 sudo 权限。
如果缺少权限,可能会看到类似以下的错误:
User 'yourname' is not in the sudoers file. This incident will be reported.
这种情况下,请联系管理员或使用具有 root 权限的用户。
小结
提前更新软件包并检查环境有助于防止安装错误,确保设置过程顺利。
4. 在 Ubuntu 上安装 Java 的方法(基础)
4.1 使用 APT 安装 OpenJDK
Ubuntu 使用 APT(Advanced Package Tool)进行软件管理。由于 OpenJDK 已包含在 Ubuntu 官方仓库中,可以使用以下命令轻松安装。
安装 OpenJDK 11(稳定 LTS)
sudo apt install openjdk-11-jdk
安装 OpenJDK 17(更新的 LTS)
sudo apt install openjdk-17-jdk
将 openjdk-XX-jdk 中的 XX 替换为所需的版本。截至 2025 年 4 月,11 和 17 是推荐的长期支持(LTS)版本。
APT 会自动解决依赖关系,即使是初学者也能安全、轻松地完成安装。
4.2 验证已安装的 Java 版本
安装完成后,通过运行以下命令验证 Java 是否正常工作:
java -version
示例输出(OpenJDK 17):
openjdk version "17.0.9" 2024-10-17
OpenJDK Runtime Environment (build 17.0.9+8-Ubuntu)
OpenJDK 64-Bit Server VM (build 17.0.9+8-Ubuntu, mixed mode, sharing)
如果显示了版本信息,则 Java 已成功安装。
4.3 多个 Java 版本共存时的注意事项
Ubuntu 允许同时安装多个 Java 版本,但 只能有一个版本作为默认。
如果已安装多个版本,可使用以下命令选择活动版本:
sudo update-alternatives --config java
通过选择对应的编号即可切换版本。
小结:从 OpenJDK 开始
对于大多数用户来说,安装 OpenJDK 11 或 17 是在 Ubuntu 上开始使用 Java 的最佳方式。使用 APT,几分钟即可搭建完整的 Java 环境。
5. 如何设置 JAVA_HOME(环境变量配置)
什么是 JAVA_HOME?
JAVA_HOME 是一个环境变量,用于告诉应用程序和工具 Java 的安装位置。许多构建工具(如 Maven 和 Gradle)依赖该变量来定位 Java。
该变量不会自动设置,需要手动配置。
如何查找 JAVA_HOME 路径
检查当前使用的 Java 可执行文件的实际路径:
readlink -f $(which java)
示例输出:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
JAVA_HOME 路径是去掉 bin/java 后的目录:
/usr/lib/jvm/java-17-openjdk-amd64
设置 JAVA_HOME 的步骤
编辑你的 shell 配置文件。在 Ubuntu 上,通常是 ~/.bashrc(Zsh 则为 ~/.zshrc)。
1. 编辑 bashrc 文件
nano ~/.bashrc
在文件末尾添加以下行(如有需要请调整路径):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
2. 应用更改
source ~/.bashrc
验证配置
echo $JAVA_HOME
如果显示了正确的路径,配置即完成。
注意:更换版本时切换 JAVA_HOME
在切换 Java 版本时,请相应地更新 JAVA_HOME 以匹配所选版本。
小结
JAVA_HOME 的设置对许多基于 Java 的工具至关重要。虽然需要手动配置,但可以避免以后出现配置问题。
6. 管理和切换多个 Java 版本
为什么要使用多个 Java 版本?
有些应用程序需要特定的 Java 版本。例如,一个项目可能需要 Java 8,而另一个项目需要 Java 17。
Ubuntu 允许多个 Java 版本共存,并且可以轻松切换。
如何切换 Java 版本
步骤 1:安装多个版本
sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk
步骤 2:选择 Java 版本
sudo update-alternatives --config java
切换 Java 编译器(javac)
sudo update-alternatives --config javac
如有必要,更新 JAVA_HOME
切换版本后,请确保 JAVA_HOME 与当前活动的 Java 版本相匹配。
常见错误
- Java 已切换但 IDE 未反映:在 IDE 设置中更新 Java 路径。
- java 已切换但 javac 未切换:单独为
javac运行update-alternatives。
小结
Ubuntu 让管理多个 Java 版本变得轻松,这在处理多个项目时尤为有用。

7. 常见错误及解决方法
错误 1:“Unable to locate package openjdk-xx-jdk”
症状
E: Unable to locate package openjdk-17-jdk
原因
- 软件包列表过期
- 拼写错误
- 你的 Ubuntu 发行版不支持该 Java 版本
解决方案
sudo apt update
apt search openjdk
错误 2:“java: command not found”
解决方案
sudo apt install default-jre
错误 3:JAVA_HOME 未生效
source ~/.bashrc
echo $JAVA_HOME
错误 4:未找到 javac
sudo apt install openjdk-17-jdk
javac -version
错误 5:Java 版本未改变
sudo update-alternatives --config java
sudo update-alternatives --config javac
小结
Ubuntu 上大多数与 Java 相关的问题都是由配置错误导致的。请仔细阅读错误信息,并一步步解决。
8. 使用图形界面安装 Java(适合初学者)
不必害怕终端
Ubuntu 提供了图形界面,只需使用鼠标即可安装软件。
使用 Ubuntu 软件的步骤
步骤 1:打开 Ubuntu 软件
步骤 2:搜索 “OpenJDK”
步骤 3:选择版本并安装
安装后验证
java -version
图形界面安装的局限性
图形界面安装在版本控制方面受限。高级用户应使用终端进行安装。
小结
图形界面安装适合初学者,而基于终端的安装则提供更大的灵活性。
9. Java 开发环境设置(可选)
必需工具
| Tool | Purpose |
|---|---|
| JDK | Java development and execution |
| IDE | Code editing, debugging, completion |
| Build Tools | Dependency management and builds |
推荐的 IDE
Eclipse
sudo snap install eclipse --classic
IntelliJ IDEA
sudo snap install intellij-idea-community --classic
Visual Studio Code
sudo snap install code --classic
构建工具
sudo apt install maven
sudo apt install gradle
小结
Ubuntu 提供了一个稳定且强大的 Java 开发环境,适合初学者和专业人士使用。
10. 常见问题解答 (FAQ)
Q1. 我应该选择哪一个:OpenJDK 还是 Oracle JDK?
在大多数情况下,OpenJDK 已足够。当需要官方支持时,适合使用 Oracle JDK。
Q2. 我需要设置 JAVA_HOME 吗?
对于运行 Java 来说是可选的,但在开发和构建工具中推荐设置。
Q3. 如何卸载 Java?
sudo apt remove openjdk-17-jdk
Q4. GUI 还是终端?
对于基本使用,GUI 已足够。对于高级配置,推荐使用终端。
总结
本指南帮助您自信地在 Ubuntu 上安装、配置和管理 Java。



