linux下用tar包安装jdk的核心是解压+设置环境变量+生效验证;需下载jdk tar.gz、解压到自定义目录(如~/jdk)、配置~/.bashrc中的java_home/path/classpath、source生效并验证版本,支持多版本共存时通过函数快速切换。

Linux 下用 tar 包安装 JDK,核心是解压 + 设置环境变量 + 生效验证,不依赖包管理器,适合自定义路径或非 root 用户。
下载并解压 JDK tar.gz
从 Eclipse Adoptium(推荐,开源免费)或 Oracle 官网下载对应架构的 jdk-21_linux-x64_bin.tar.gz(或其他版本)。上传后执行:
- 创建标准安装目录,例如:
mkdir -p ~/jdk - 进入该目录:
cd ~/jdk - 解压并扁平化结构(跳过顶层文件夹):
tar -zxvf ~/Downloads/jdk-21_linux-x64_bin.tar.gz --strip-components=1
完成后,~/jdk 下应直接包含 bin/、lib/、conf/ 等子目录,而非嵌套在 jdk-21.0.5/ 里。
配置 ~/.bashrc 环境变量
用 nano ~/.bashrc 或 vim ~/.bashrc 在文件末尾添加三行:
-
export JAVA_HOME=$HOME/jdk(必须指向含 bin/ 的根目录,不能写成 $HOME/jdk/bin) -
export PATH=$JAVA_HOME/bin:$PATH(顺序很重要:$JAVA_HOME/bin 放前面,确保优先调用新 JDK) -
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar(可选,现代项目通常不需要)
避免硬编码用户名,用 $HOME 更安全;不要漏掉 $ 符号,否则变量不生效。
使配置生效并验证
保存退出后立即加载:
source ~/.bashrc-
echo $JAVA_HOME→ 应输出/home/你的用户名/jdk -
which java→ 应返回/home/你的用户名/jdk/bin/java -
java -version和javac -version→ 两者版本号一致,且显示 “21.0.x” 或对应版本
多 JDK 版本共存时的轻量切换
如果后续还要装 JDK 8、17 或 24,不建议反复修改 ~/.bashrc。可在同一文件末尾加一个切换函数:
- 先定义各版本路径,如:
export JDK21_HOME=$HOME/jdk、export JDK17_HOME=$HOME/jdk17 - 再添加函数:
jdk21() { export JAVA_HOME=$JDK21_HOME; export PATH=$JAVA_HOME/bin:$PATH; } - 运行
jdk21命令即可即时切换,无需重启终端











