如何安装最新LTS版JDK?

准备工作

  1. 更新系统
    终端执行:

    sudo apt update && sudo apt upgrade  # Ubuntu/Debian
    sudo yum update                      # CentOS/RHEL
  2. 检查现有Java

    java -version

    若已安装旧版本,建议卸载避免冲突(sudo apt remove openjdk-*sudo yum remove java-*)。


安装OpenJDK(推荐开源方案)

Ubuntu/Debian 系

# 或指定版本(例:OpenJDK 17)
sudo apt install openjdk-17-jdk

CentOS/RHEL 系

# 启用EPEL仓库(如未启用)
sudo yum install epel-release
# 安装OpenJDK(例:JDK 17)
sudo yum install java-17-openjdk-devel

安装Oracle JDK(需官方许可)

注意:Oracle JDK 11+需接受商业许可协议,个人/开发免费,生产环境需合规。

  1. 下载官方包
    访问 Oracle JDK下载页,选择Linux x64压缩包(.tar.gz)。

  2. 解压并安装

    sudo tar -xzf jdk-21_linux-x64_bin.tar.gz -C /usr/local/  # 替换文件名
  3. 设置环境变量
    编辑 ~/.bashrc/etc/profile.d/java.sh

    export JAVA_HOME=/usr/local/jdk-21  # 替换为实际路径
    export PATH=$JAVA_HOME/bin:$PATH

    生效配置:

    source ~/.bashrc

配置默认Java版本

若安装多版本,使用 update-alternatives 管理:

sudo update-alternatives --config java  # 按提示选择版本

验证安装

java -version  # 输出示例:openjdk 17.0.8 2025-07-18
javac -version # 验证编译器

环境变量检查

确保 JAVA_HOME 正确:

echo $JAVA_HOME  # 应返回路径如 /usr/lib/jvm/java-17-openjdk-amd64

常见问题解决

  • 权限错误:解压Oracle JDK时用 sudo,确保 /usr/local 归属root。
  • 命令未找到:检查环境变量路径,确认 bin 目录包含在 $PATH 中。
  • 版本冲突:用 update-alternatives --remove java <路径> 移除错误关联。

安全与维护建议

  1. 定期更新
    sudo apt upgrade  # Ubuntu
    sudo yum update   # CentOS
  2. 优先使用OpenJDK:开源免费,且获Linux发行版官方支持。
  3. 来源可信:仅从OpenJDK官网或发行版仓库获取安装包。

引用说明

  • OpenJDK官方文档:https://openjdk.org/
  • Oracle JDK许可协议:https://www.oracle.com/java/technologies/javase/jdk-faqs.html
  • Linux包管理器手册页(man apt/man yum) 基于Linux LTS版本及Java官方文档验证,适用于生产环境部署。*

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5138.html

(0)
酷番叔酷番叔
上一篇 2025年6月20日 18:27
下一篇 2025年6月20日 18:48

相关推荐

  • 大白菜一键安装Linux教程

    准备工作硬件需求8GB 以上空白U盘(制作启动盘)目标电脑:至少 20GB 硬盘空间、4GB 内存(具体以 Linux 发行版要求为准)稳定的网络连接(用于下载系统镜像)软件工具大白菜超级U盘启动盘制作工具(官网下载最新版)Linux 系统镜像(推荐 Ubuntu、Debian 或 CentOS,从官网或开源镜……

    6天前
    900
  • Linux大型C程序如何高效开发?

    开发环境配置(专业工具链)编译器与调试器使用 GCC/G++(支持C11/C17标准):gcc -std=c17 -Wall -Wextra -Werror调试工具:GDB(配合 GEF 插件增强内存分析)示例调试命令: gdb -q ./programbreak mainrunbacktrace构建系统Mak……

    2025年7月5日
    1200
  • Linux跑XP虚拟机,U盘传数据卡住?

    基础环境准备宿主机检测U盘lsusb # 查看U盘是否被Linux识别(记录厂商ID和产品ID)lsblk # 确认U盘挂载点(如/dev/sdb1)若未自动挂载,手动挂载: sudo mkdir /mnt/usb && sudo mount /dev/sdb1 /mnt/usb虚拟机软件选择V……

    2天前
    600
  • Ubuntu还是Debian?哪个更合适你的需求

    在Linux系统中,Telnet是一种基于TCP/IP协议的远程登录工具,允许用户通过网络连接到其他主机进行操作,但请注意:Telnet传输数据为明文,存在严重安全风险,仅建议在测试或隔离环境中使用,生产环境强烈推荐使用SSH替代,以下是详细操作指南:Telnet客户端使用(连接远程服务)安装Telnet客户端……

    2025年7月1日
    900
  • Android与Linux服务器如何高效通信?

    主流通信方式及实现HTTP/HTTPS协议(RESTful API)适用场景:数据交互(如登录验证、获取用户信息),实现步骤:Android端(使用OkHttp或Retrofit库):// 使用OkHttp发送GET请求val client = OkHttpClient()val request = Reque……

    2025年7月13日
    800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信