linux中配置java环境变量的核心是正确设置java_home并将其bin目录加入path,确认jdk已安装、路径准确、配置加载生效后,java和javac命令即可全局使用。

Linux 中配置 Java 环境变量,核心是设好 JAVA_HOME 和把 $JAVA_HOME/bin 加入 PATH。只要路径正确、配置生效、终端能识别 java 和 javac,就算配好了。
确认 JDK 已安装并找到路径
先检查是否已安装 JDK:
- 运行
java -version,有输出说明系统可能自带 OpenJDK; - 但开发通常需要完整 JDK(含
javac),所以建议手动安装官方或主流开源版本(如 Temurin / Liberica / Zulu); - 下载 tar.gz 包后解压到固定位置,例如:
sudo tar -xzf jdk-17.0.2+8.tar.gz -C /usr/lib/jvm/
解压后进入/usr/lib/jvm/查看实际目录名(如jdk-17.0.2+8); - 推荐创建软链接方便后续维护:
sudo ln -sfn /usr/lib/jvm/jdk-17.0.2+8 /usr/lib/jvm/java-17
选择合适的配置文件写入变量
根据生效范围选一个即可,不建议多处重复配置:
-
仅当前用户长期有效:编辑
~/.bashrc(适用于普通用户日常开发)
添加两行:export JAVA_HOME=/usr/lib/jvm/java-17export PATH=$JAVA_HOME/bin:$PATH -
所有用户长期有效:新建
/etc/profile.d/java.sh(推荐,干净且易管理)
内容同上,注意用sudo编辑:sudo nano /etc/profile.d/java.sh - 避免直接改
/etc/profile或/etc/environment,前者影响全局登录,后者不支持变量展开(如不能写$JAVA_HOME/bin)。
让配置立即生效并验证
保存文件后必须重载,否则终端不认识新变量:
- 如果是改了
~/.bashrc,运行:source ~/.bashrc - 如果是改了
/etc/profile.d/java.sh,运行:source /etc/profile.d/java.sh - 验证是否成功:
echo $JAVA_HOME→ 应输出你设置的路径echo $PATH | grep java→ 应看到java-17/bin出现在其中java -version和javac -version→ 两个命令都应返回一致的版本号
常见问题快速排查
如果 java -version 正常但 javac 报“command not found”,大概率是装了 JRE 而非 JDK,或者 JAVA_HOME 指向的是 jre/ 目录而非 jdk/ 根目录;
如果提示“Permission denied”,检查 JDK 解压目录权限,确保当前用户有读+执行权限(ls -ld /usr/lib/jvm/java-17);
如果新开终端又失效,说明配置写在了错误文件里(比如只写了 ~/.bashrc 却用其他 shell 如 zsh 启动)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











