CentOS系统如何更新Java编译器
导读:在 CentOS 上更新 Java 编译器 javac 的实用步骤 一 准备与检查 确认当前版本(需要同时检查运行时与编译器): java -version javac -version 查看已安装的 OpenJDK 包(便于决定是...
在 CentOS 上更新 Java 编译器 javac 的实用步骤
一 准备与检查
- 确认当前版本(需要同时检查运行时与编译器):
- java -version
- javac -version
- 查看已安装的 OpenJDK 包(便于决定是“升级”还是“替换”):
- rpm -qa | grep java-1.*-openjdk
- 选择目标版本:建议优先选择 LTS 版本(如 Java 11、Java 17、Java 21),兼顾稳定性与安全支持周期。对于 CentOS 8 及更新版本,优先使用 dnf;CentOS 7 使用 yum。另请注意 CentOS 8 已于 2021-12 停止维护,生产环境建议迁移至 CentOS Stream 或其他受支持的发行版。
二 方法一 使用包管理器安装或升级 OpenJDK(推荐)
- 安装/升级开发工具包(包含编译器 javac):
- CentOS 7:sudo yum install -y java-11-openjdk-devel 或 java-17-openjdk-devel
- CentOS 8+/Stream:sudo dnf install -y java-11-openjdk-devel 或 java-17-openjdk-devel
- 如需从旧版本切换为新的默认版本,使用 alternatives 设置系统默认 java(同时影响 javac 的调用):
- 交互选择:sudo update-alternatives --config java
- 如列表缺少新版本,可先注册:sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11/bin/java 100
- 验证:java -version 与 javac -version 均应显示新版本。
三 方法二 手动安装 Oracle JDK 或 OpenJDK 压缩包
- 下载并解压(示例为 x64):
- wget < 下载地址> /jdk-21_linux-x64_bin.tar.gz
- tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/lib/jvm
- 注册到 alternatives(确保 javac 和 java 同时受控):
- sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-21/bin/java 100
- sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-21/bin/javac 100
- 如需切换:sudo update-alternatives --config java(必要时同样为 javac 执行一次)
- 设置环境变量(全局生效,建议写入 /etc/profile.d/java.sh):
- echo ‘export JAVA_HOME=/usr/lib/jvm/jdk-21’ | sudo tee /etc/profile.d/java.sh
- echo ‘export PATH=$JAVA_HOME/bin:$PATH’ | sudo tee -a /etc/profile.d/java.sh
- source /etc/profile.d/java.sh
- 验证:java -version 与 javac -version 一致为新版本。
四 验证与常见问题处理
- 双重验证命令:
- java -version
- javac -version
- which java 与 which javac(确认来自期望的 /usr/bin 或通过 alternatives 指向的新路径)
- 多版本并存与切换:
- 使用 alternatives 的 --config 选项在多个已注册版本间切换,确保 java 与 javac 的版本保持一致。
- 清理旧版本(可选,谨慎操作):
- 如确认新版本稳定,可卸载旧包:sudo yum remove java-1.8.0-openjdk*(或 dnf 等效命令)。
- 兼容性提示:
- 编译后的字节码受目标版本影响;若需编译为较旧版本,请在构建时通过工具参数(如 Maven/Gradle 的 source/target 或 javac 的 -source/-target)进行设置,避免“Unsupported major.minor version”错误。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS系统如何更新Java编译器
本文地址: https://pptw.com/jishu/752193.html
