首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2025最新在Ubuntu系统中配置JDK环境变量入门指南

2025最新在Ubuntu系统中配置JDK环境变量入门指南

作者头像
猫头虎
发布于 2025-07-23 08:35:35
发布于 2025-07-23 08:35:35
3.3K0
举报

正文


1. 🧩 JDK版本选择与下载方式

Java 有两大主流发行版:

  • Oracle JDK:官方发行版,包含商业特性,需遵守Oracle授权协议。
  • OpenJDK:开源实现,社区驱动,完全免费。

发行版

特点

适用场景

OpenJDK

系统仓库直接安装;免费且开源

开发、教学、生产环境

Oracle JDK

官方功能最完整;需注册Oracle账号下载

需Oracle商业特性或支持

1.1 从APT仓库安装(推荐OpenJDK)

Ubuntu官方仓库含有OpenJDK包,无需手动下载:

代码语言:javascript
复制
# 更新仓库索引
sudo apt update

# 安装默认OpenJDK(当前Ubuntu默认通常是OpenJDK 11 或 17)
sudo apt install -y default-jdk

# 或者指定版本
sudo apt install -y openjdk-11-jdk

APT安装会自动把Java可执行文件放到 /usr/lib/jvm/… 并配置好 update-alternatives,省去大量手动步骤。

1.2 手动下载Oracle JDK
  1. 前往 Oracle Java SE 下载页面(需Oracle账号登录)
  2. 选择 Linux x64 .tar.gz 包下载:
    • 如 jdk-8u381-linux-x64.tar.gz
    • 或 jdk-17.0.7_linux-x64_bin.tar.gz

❗ 注意:Oracle JDK的版本号和下载页面会不定期更新,请以官网实际版本为准。


2. 📥 安装JDK

2.1 使用APT安装(OpenJDK)

如上所示,APT 安装后,相关文件默认在:

代码语言:javascript
复制
/usr/lib/jvm/java-11-openjdk-amd64/
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
...

APT会自动配置 /usr/bin/java 等软连接,不需手动设置。

2.2 手动解压Oracle JDK

将下载的 .tar.gz 拷贝到服务器或主机的任意目录(如 ~/Downloads)。

创建系统级JVM存放目录(需sudo):

代码语言:javascript
复制
sudo mkdir -p /usr/lib/jvm

切换到下载目录并解压:

代码语言:javascript
复制
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。


3. 📝 配置环境变量

Ubuntu上常见两种方式配置环境变量:

  • 全系统级:编辑 /etc/profile 或 /etc/environment,对所有用户生效。
  • 用户级:编辑当前用户主目录下的 ~/.bashrc 或 ~/.profile。
3.1 全系统级配置(推荐)

打开 /etc/profile(或者 /etc/environment,两者任选之一):

代码语言:javascript
复制
sudo vim /etc/profile

跳转到底部,按 i 进入插入模式,添加:

代码语言:javascript
复制
# —— Java 环境变量 ——  
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.7
export PATH=$JAVA_HOME/bin:$PATH
  • JAVA_HOME:指向JDK根目录
  • PATH:把 JAVA_HOME/bin 添加到系统执行路径

保存并退出:Esc → :wq → Enter。

立即生效:

代码语言:javascript
复制
source /etc/profile
3.2 用户级配置

编辑 ~/.bashrc(若使用非bash,请改为对应shell配置文件):

代码语言:javascript
复制
vim ~/.bashrc

在末尾添加同样的两行 export,保存退出,再执行:

代码语言:javascript
复制
source ~/.bashrc

4. 🔄 管理多版本Java:update-alternatives

若系统中同时安装了多个Java版本,可通过 update-alternatives 切换:

添加新版本到 alternatives(如果APT已安装,系统通常已自动添加):

代码语言:javascript
复制
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

列出当前所有可选项:

代码语言:javascript
复制
sudo update-alternatives --config java

按提示输入序号,回车即可切换。

重复 --config javac 以切换编译器。


5. ✅ 验证安装与运行示例

5.1 检查版本
代码语言:javascript
复制
java -version
# 输出示例:  
# openjdk version "17.0.7" 2025-04-15  
# 或  
# java version "1.8.0_381"
javac -version
5.2 编写HelloWorld测试

新建目录与文件:

代码语言:javascript
复制
mkdir ~/java-test && cd ~/java-test
vim HelloWorld.java

在文件中输入:

代码语言:javascript
复制
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Ubuntu Java!");
    }
}

编译并运行:

代码语言:javascript
复制
javac HelloWorld.java
java HelloWorld
# 应输出:Hello, Ubuntu Java!

6. 🛠️ 常见问题及解决方案

问题描述

排查思路

解决办法

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 进行管理


7. ❓ 常见QA

  • Q:我能把环境变量写到 /etc/environment 吗? A:可以,但 /etc/environment 不支持shell变量扩展(如$PATH),需写成绝对路径。推荐使用 /etc/profile。
  • Q:为什么要设置 JAVA_HOME? A:很多Java工具(如Maven、Tomcat)会读取此变量来定位JDK位置。
  • Q:Ubuntu 20.04 自带的是哪个版本的OpenJDK? A:一般是 OpenJDK 11,使用 apt show openjdk-11-jdk 可查看详情。
  • Q:如何删除手动安装的JDK? A:直接 sudo rm -rf /usr/lib/jvm/jdk-xxx,并在 /etc/profile(或相关配置)中移除对应 export。

8. 🏁 总结

本文全面覆盖了在Ubuntu系统上安装并配置JDK环境变量的多种方法,包括:

  1. APT仓库快速安装OpenJDK
  2. 手动下载并解压Oracle JDK
  3. 全局与用户级环境变量配置
  4. update-alternatives多版本管理
  5. 环境验证与示例运行
  6. 常见问题诊断与解决

掌握以上步骤后,您即可在Ubuntu上顺利开展Java开发。祝您编码愉快,早日成为Java高手!🎉

温馨提示

配置好JDK后,您就进入了Java的世界。不断实践和学习,遇到问题不要气馁,记得利用网络资源,如官方文档、社区论坛等,它们将是您学习过程中宝贵的帮助。祝您学习愉快!

👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击下方文末名片获取更多信息。我是猫头虎博主,期待与您的交流! 🦉💬

🚀 技术栈推荐: GoLang, Git, Docker, Kubernetes, CI/CD, Testing, SQL/NoSQL, gRPC, Cloud, Prometheus, ELK Stack

💡 联系与版权声明: 📩 联系方式:

  • 公众号: 猫头虎技术团队

⚠️ 版权声明: 本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。

点击下方名片,加入猫头虎领域社群矩阵。一起探索科技的未来,共同成长。

🔗 猫头虎社群 | 🔗 Go语言VIP专栏| 🔗 GitHub 代码仓库 | 🔗 Go生态洞察专栏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 正文
  • 1. 🧩 JDK版本选择与下载方式
    • 1.1 从APT仓库安装(推荐OpenJDK)
    • 1.2 手动下载Oracle JDK
  • 2. 📥 安装JDK
    • 2.1 使用APT安装(OpenJDK)
    • 2.2 手动解压Oracle JDK
  • 3. 📝 配置环境变量
    • 3.1 全系统级配置(推荐)
    • 3.2 用户级配置
  • 4. 🔄 管理多版本Java:update-alternatives
  • 5. ✅ 验证安装与运行示例
    • 5.1 检查版本
    • 5.2 编写HelloWorld测试
  • 6. 🛠️ 常见问题及解决方案
  • 7. ❓ 常见QA
  • 8. 🏁 总结
  • 温馨提示
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档