
Java 有两大主流发行版:
发行版 | 特点 | 适用场景 |
|---|---|---|
OpenJDK | 系统仓库直接安装;免费且开源 | 开发、教学、生产环境 |
Oracle JDK | 官方功能最完整;需注册Oracle账号下载 | 需Oracle商业特性或支持 |
Ubuntu官方仓库含有OpenJDK包,无需手动下载:
# 更新仓库索引
sudo apt update
# 安装默认OpenJDK(当前Ubuntu默认通常是OpenJDK 11 或 17)
sudo apt install -y default-jdk
# 或者指定版本
sudo apt install -y openjdk-11-jdkAPT安装会自动把Java可执行文件放到 /usr/lib/jvm/… 并配置好 update-alternatives,省去大量手动步骤。

jdk-8u381-linux-x64.tar.gzjdk-17.0.7_linux-x64_bin.tar.gz❗ 注意:Oracle JDK的版本号和下载页面会不定期更新,请以官网实际版本为准。
如上所示,APT 安装后,相关文件默认在:
/usr/lib/jvm/java-11-openjdk-amd64/
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
...APT会自动配置 /usr/bin/java 等软连接,不需手动设置。
将下载的 .tar.gz 拷贝到服务器或主机的任意目录(如 ~/Downloads)。
创建系统级JVM存放目录(需sudo):
sudo mkdir -p /usr/lib/jvm切换到下载目录并解压:
cd ~/Downloads
sudo tar -xvzf jdk-17.0.7_linux-x64_bin.tar.gz -C /usr/lib/jvm解压后,可在 /usr/lib/jvm/ 下看到新目录 jdk-17.0.7。
Ubuntu上常见两种方式配置环境变量:
/etc/profile 或 /etc/environment,对所有用户生效。~/.bashrc 或 ~/.profile。打开 /etc/profile(或者 /etc/environment,两者任选之一):
sudo vim /etc/profile跳转到底部,按 i 进入插入模式,添加:
# —— Java 环境变量 ——
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.7
export PATH=$JAVA_HOME/bin:$PATHJAVA_HOME/bin 添加到系统执行路径保存并退出:Esc → :wq → Enter。
立即生效:
source /etc/profile编辑 ~/.bashrc(若使用非bash,请改为对应shell配置文件):
vim ~/.bashrc在末尾添加同样的两行 export,保存退出,再执行:
source ~/.bashrcupdate-alternatives若系统中同时安装了多个Java版本,可通过 update-alternatives 切换:
添加新版本到 alternatives(如果APT已安装,系统通常已自动添加):
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.7/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17.0.7/bin/javac 2列出当前所有可选项:
sudo update-alternatives --config java按提示输入序号,回车即可切换。
重复 --config javac 以切换编译器。
java -version
# 输出示例:
# openjdk version "17.0.7" 2025-04-15
# 或
# java version "1.8.0_381"
javac -version新建目录与文件:
mkdir ~/java-test && cd ~/java-test
vim HelloWorld.java在文件中输入:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Ubuntu Java!");
}
}编译并运行:
javac HelloWorld.java
java HelloWorld
# 应输出:Hello, Ubuntu Java!问题描述 | 排查思路 | 解决办法 |
|---|---|---|
java: command not found | PATH未包含Java路径 | 确认 echo $PATH 是否含 $JAVA_HOME/bin |
Permission denied | 操作系统权限不足 | 命令前加 sudo 或修正文件权限 chown/chmod |
环境变量配置后未生效 | 未 source 或新终端未重新登录 | 执行 source ~/.bashrc 或重启终端 |
切换Java版本无效 | update-alternatives 配置不完整 | 重新执行 --install,或检查 /etc/alternatives |
系统默认Java版本与手动安装版本冲突 | APT安装与手动安装路径不同 | 统一使用 update-alternatives 进行管理 |
/etc/environment 吗?
A:可以,但 /etc/environment 不支持shell变量扩展(如$PATH),需写成绝对路径。推荐使用 /etc/profile。
JAVA_HOME?
A:很多Java工具(如Maven、Tomcat)会读取此变量来定位JDK位置。
apt show openjdk-11-jdk 可查看详情。
sudo rm -rf /usr/lib/jvm/jdk-xxx,并在 /etc/profile(或相关配置)中移除对应 export。
本文全面覆盖了在Ubuntu系统上安装并配置JDK环境变量的多种方法,包括:
update-alternatives多版本管理掌握以上步骤后,您即可在Ubuntu上顺利开展Java开发。祝您编码愉快,早日成为Java高手!🎉
配置好JDK后,您就进入了Java的世界。不断实践和学习,遇到问题不要气馁,记得利用网络资源,如官方文档、社区论坛等,它们将是您学习过程中宝贵的帮助。祝您学习愉快!

👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击下方文末名片获取更多信息。我是猫头虎博主,期待与您的交流! 🦉💬
🚀 技术栈推荐: GoLang, Git, Docker, Kubernetes, CI/CD, Testing, SQL/NoSQL, gRPC, Cloud, Prometheus, ELK Stack
💡 联系与版权声明: 📩 联系方式:
⚠️ 版权声明: 本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。
点击
下方名片,加入猫头虎领域社群矩阵。一起探索科技的未来,共同成长。