CentOS安装JDK17及多版本管理

在日常开发中,为了合理利用一台机器性能,我们经常会在一台机器部署多个微服务,但是如果其中有些微服务使用的JDK版本不一样(例如:部分老工程使用JDK1.8,部分使用JDK17),这时候直接通过java启动应用就会失败,为了解决此问题,我们需要在机器上安装多个JDK版本!

今天和大家详细讲解下如何在CentOS系统上安装多个版本JDK,如果使用的是Ubuntu系统,可以参考我之前文章:https://blog.csdn.net/a13879442471/article/details/145764470

看过我之前文章的朋友们应该知道ubuntu可以使用使用快捷命令一键安装openjdk-17,但是由于CentOS的默认版本库是不包含OpenJDK17的,所以这里我们需要使用下载安装包方式进行CentOS JDK17的安装!

CentOS的OpenJDK源最高只能安装OpenJDK11,使用以下命令可以查看CentOS支持的源列表

1
yum search java|grep jdk

1、切换root用户

这里我们使用以下命令切到root用户,把jdk安装到root用户下,这样全部普通用户就能共享到JDK17

1
sudo su

2、查找JDK17的最新下载地址并下载

先使用以下地址试下,如果无法下载再按下面方式去官网查找最新下载地址

1
wget https://download.oracle.com/otn/java/jdk/17.0.14+8/be06627d646e48edb99d94ff6c4c9841/jdk-17.0.14_linux-x64_bin.rpm?AuthParam=1748227036_5977d7d72157c9b09ce21b078570bcda

2.1、官网查找Java SE 17版本

官网:https://www.oracle.com/cn/java/technologies/downloads/archive/,这里我们选择Java SE的17版本

在 Oracle 官网,JDK 17 的下载选项包括多个不同的平台和技术栈。以下是对这些选项的简要说明和它们之间的区别:

  1. **Java SE (Standard Edition)**:
    • 描述:Java SE 是 Java 平台的标准版本,提供了核心的 Java 编程功能和 API。它是大多数 Java 应用程序开发的基础。
    • 适用场景:大多数桌面应用程序、服务器端应用程序和一般的 Java 开发都使用 Java SE。
    • 下载:如果你在寻找标准的 JDK 来进行一般的 Java 开发,选择 Java SE。
  2. GraalVM
    • 描述:GraalVM 是一个通用的虚拟机,支持多种编程语言,包括 Java、JavaScript、Python 等。它提供了高级的优化功能和原生镜像生成能力。
    • 适用场景:需要多语言支持、高性能或原生镜像生成的应用程序。
    • 下载:如果你的项目需要多语言支持或需要使用 GraalVM 的特性(如原生镜像),选择 GraalVM。
  3. **Java EE (Enterprise Edition)**:
    • 描述:Java EE 是 Java 平台的企业版,提供了用于构建大型企业级应用程序的 API 和运行时环境。
    • 适用场景:企业级应用程序开发,特别是需要使用 Java EE 特定的 API,如 EJB、JPA、JMS 等。
    • 下载:Java EE 通常是一个运行时环境(如应用服务器),而不是单独的 JDK 下载。如果你需要开发企业级应用,通常需要一个 Java EE 兼容的应用服务器。
  4. **Java ME (Micro Edition)**:
    • 描述:Java ME 是 Java 平台的微型版,专为嵌入式系统和移动设备设计。
    • 适用场景:开发嵌入式设备或功能手机上的应用程序。
    • 下载:如果你在开发嵌入式系统或老式移动设备应用,选择 Java ME。
  5. Java FX
    • 描述:Java FX 是一个用于构建富客户端应用程序的框架,提供了图形用户界面(GUI)和媒体功能。
    • 适用场景:需要构建桌面应用程序,特别是需要丰富的用户界面和多媒体功能。
    • 下载:如果你的项目需要使用 Java FX 的功能(例如,图形界面),选择 Java FX。

选择建议:

  • Java SE 是最常用的版本,适合大多数应用程序开发。
  • 如果你的项目涉及特定的需求,如多语言支持或企业级功能,选择相应的版本(如 GraalVM 或 Java EE)。
  • 对于桌面应用程序的 GUI 开发,Java FX 是一个很好的选择。

2.2、选择符合自己架构的rpm包

点击进入下载包页面,可以看到有多个版本的下载包,这里我使用的是jdk-17.0.14_linux-x64_bin.rpm

这里需要根据自己系统架构去选择,不清楚自己系统架构的输入以下命令

1
uname -m
  • 输出 x86_64 表示 x64 架构。
  • 输出 aarch64 表示 ARM64 架构。

2.3、复制链接地址

上面的包选择好点,鼠标点击下载,这时候会弹出登录Oracle账户,没有账户的自己去创建个

登录完成后再重新点击rpm包就会自动开始下载了,进到浏览器下载记录,把这一串地址复制袭来

以下这个是使用我的账户登录后的下载地址:

https://download.oracle.com/otn/java/jdk/17.0.14+8/be06627d646e48edb99d94ff6c4c9841/jdk-17.0.14_linux-x64_bin.rpm?AuthParam=1748227036_5977d7d72157c9b09ce21b078570bcda

2.4、使用wget命令下载rpm包

复制下载链接后,使用wget下载rpm包到linux服务器,这里我放在了/root/jdk/目录下,下载完成后在当前目录会多出个jdk-17.0.14_linux-x64_bin.rpm?AuthParam=1748227036_5977d7d72157c9b09ce21b078570bcda文件

接下来把这个文件名改下

1
mv jdk-17.0.14_linux-x64_bin.rpm\?AuthParam\=1748227036_5977d7d72157c9b09ce21b078570bcda jdk-17.0.14_linux-x64_bin.rpm

改成后缀为.rpm文件,方便继续安装

3、安装JDK17

使用以下命令安装rpm文件

1
yum -y install jdk-17.0.14_linux-x64_bin.rpm

输入命令后安装界面如下

4、验证jdk版本

1
java -version

可以看到已经成功安装了jdk17了

5、配置多版本JDK

这里我们使用alternatives作为多版本jdk管理工具

1
2
3
4
5
6
7
# 添加JDK 1.8到alternatives
alternatives --install /usr/bin/java java /usr/java/jdk1.8.0-x64/bin/java 1
# 添加JDK 17到alternatives
alternatives --install /usr/bin/java java /usr/java/jdk-17/bin/java 2

# 手动切换全局默认版本
alternatives --config java

输入对应的数字即可切换到对应的java版本,微服务启动时java命令填写全路径


CentOS安装JDK17及多版本管理
http://example.com/2025/05/28/后端技术互联/CentOS安装JDK17及多版本管理/
作者
技术Z先生
发布于
2025年5月28日
许可协议