在 linux 上安装 jdk 并设置环境变量,最稳妥的方式是下载官方二进制包解压到 /usr/local,并通过 /etc/profile.d/ 目录下的脚本配置 java_home 和 path。这样配置后,系统用户无需修改个人配置文件即可全局使用 java 命令。具体做法包括创建符号链接以方便版本管理,并确保权限正确。

如何选择合适的 JDK 发行版并下载
选择 Oracle JDK 或 OpenJDK 取决于许可证需求,目前大多数场景推荐使用 Eclipse Adoptium (Temurin) 或 Amazon Corretto。下载时需确认架构(如 x86_64 或 aarch64)和版本号。例如,下载 JDK 17 的 Tarball 压缩包。

curl -O https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz sudo tar -zxvf openjdk-17.0.2_linux-x64_bin.tar.gz -C /usr/local/ sudo ln -s /usr/local/jdk-17.0.2 /usr/local/java
上述命令将 JDK 解压至 /usr/local 并创建了一个名为 /usr/local/java 的符号链接。这样做的好处是,当需要升级 JDK 时,只需更新符号链接指向新版本目录,而无需修改环境变量配置。执行 ls -l /usr/local/java 可以验证链接是否有效。
如何配置全局环境变量
环境变量应配置在 /etc/profile.d/ 目录下,以便对所有用户生效。创建一个名为 java.sh 的脚本,定义 JAVA_HOME 并修改 PATH。这种方式比直接编辑 /etc/profile 更易于维护和管理。

sudo tee /etc/profile.d/java.sh << 'EOF' export JAVA_HOME=/usr/local/java export PATH=$JAVA_HOME/bin:$PATH EOF sudo chmod +x /etc/profile.d/java.sh source /etc/profile.d/java.sh
创建脚本后,赋予其可执行权限并立即加载。可以通过运行 echo $JAVA_HOME 和 java -version 来验证配置是否成功。如果输出正确的路径和版本号,说明环境变量已正确设置。若未生效,请检查 /etc/profile 是否正确 sourced 了 /etc/profile.d/ 下的脚本,通常现代 Linux 发行版默认支持此机制。
如何验证 JDK 安装是否成功且路径正确
验证安装不仅要看 java -version 的输出,还要检查 javac 是否可用,以及 JAVA_HOME 是否指向预期目录。有时系统中存在多个 Java 版本,需确保当前会话使用的是新安装的版本。
which java which javac echo $JAVA_HOME java -version javac -version
运行 which java 应返回 /usr/local/java/bin/java。如果返回其他路径,说明 PATH 顺序有误或存在冲突。检查 JAVA_HOME 环境变量是否与符号链接目标一致。若 javac 不可用,可能是下载的是 JRE 而非 JDK,需重新下载包含开发工具的完整包。通过对比 java -version 和 javac -version 输出版本号一致,可确认安装完整性。


















