配置前的准备工作
-
确认系统架构
uname -m # 输出x86_64表示64位,i686表示32位
-
下载合适JDK版本
推荐从Oracle官网或OpenJDK下载对应版本的tar.gz包(如jdk-17_linux-x64_bin.tar.gz) -
解压JDK到目标目录
sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/lib/
建议路径:
/usr/local/lib/
或/opt/
永久配置环境变量(三种方式)
▶ 方式1:修改当前用户配置文件(推荐)
nano ~/.bashrc # 或 ~/.zshrc(Zsh用户)
在文件末尾添加:
export JAVA_HOME=/usr/local/lib/jdk-17 # 替换为你的JDK路径 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
生效配置:
source ~/.bashrc
▶ 方式2:全局配置(所有用户生效)
sudo nano /etc/profile ```后执行: ```bash source /etc/profile
▶ 方式3:目录链接法(多版本管理)
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/lib/jdk-17/bin/java" 1 sudo update-alternatives --config java # 交互式选择版本
验证配置结果
-
检查环境变量
echo $JAVA_HOME # 应返回设置的路径 java -version # 显示安装的JDK版本 javac -version # 验证编译器
-
测试Java程序
创建HelloWorld.java
:public class HelloWorld { public static void main(String[] args) { System.out.println("环境变量配置成功!"); } }
编译运行:
javac HelloWorld.java java HelloWorld
常见问题排查
-
java: command not found
- 检查
PATH
是否包含$JAVA_HOME/bin
- 确认
source
执行了配置文件
- 检查
-
版本冲突问题
sudo update-alternatives --config java # 切换默认JDK
-
权限不足错误
sudo chown -R $USER:$USER /usr/local/lib/jdk-17 # 修改目录属主
配置原理说明
环境变量 | 作用 |
---|---|
JAVA_HOME |
指向JDK根目录,Tomcat等中间件依赖此变量 |
PATH |
添加$JAVA_HOME/bin 使系统能找到java/javac等命令 |
CLASSPATH |
定义类加载路径,现代JDK通常可省略 |
最佳实践建议:
- 生产环境推荐使用LTS版本(如JDK 11/17)
- 使用
update-alternatives
管理多版本切换- 通过
echo $PATH | tr ':' '\n'
检查路径优先级
引用说明:本文内容参考Oracle官方JDK安装文档及Linux Filesystem Hierarchy Standard,命令行操作已在Ubuntu 22.04/CentOS 7实测验证,适用于OpenJDK和Oracle JDK主流版本,配置前请确保拥有sudo权限并备份相关配置文件。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7012.html