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 |
|
1、切换root用户
这里我们使用以下命令切到root用户,把jdk安装到root用户下,这样全部普通用户就能共享到JDK17
1 |
|
2、查找JDK17的最新下载地址并下载
先使用以下地址试下,如果无法下载再按下面方式去官网查找最新下载地址
1 |
|
2.1、官网查找Java SE 17版本
官网:https://www.oracle.com/cn/java/technologies/downloads/archive/,这里我们选择Java SE的17版本
在 Oracle 官网,JDK 17 的下载选项包括多个不同的平台和技术栈。以下是对这些选项的简要说明和它们之间的区别:
- **Java SE (Standard Edition)**:
- 描述:Java SE 是 Java 平台的标准版本,提供了核心的 Java 编程功能和 API。它是大多数 Java 应用程序开发的基础。
- 适用场景:大多数桌面应用程序、服务器端应用程序和一般的 Java 开发都使用 Java SE。
- 下载:如果你在寻找标准的 JDK 来进行一般的 Java 开发,选择 Java SE。
- GraalVM:
- 描述:GraalVM 是一个通用的虚拟机,支持多种编程语言,包括 Java、JavaScript、Python 等。它提供了高级的优化功能和原生镜像生成能力。
- 适用场景:需要多语言支持、高性能或原生镜像生成的应用程序。
- 下载:如果你的项目需要多语言支持或需要使用 GraalVM 的特性(如原生镜像),选择 GraalVM。
- **Java EE (Enterprise Edition)**:
- 描述:Java EE 是 Java 平台的企业版,提供了用于构建大型企业级应用程序的 API 和运行时环境。
- 适用场景:企业级应用程序开发,特别是需要使用 Java EE 特定的 API,如 EJB、JPA、JMS 等。
- 下载:Java EE 通常是一个运行时环境(如应用服务器),而不是单独的 JDK 下载。如果你需要开发企业级应用,通常需要一个 Java EE 兼容的应用服务器。
- **Java ME (Micro Edition)**:
- 描述:Java ME 是 Java 平台的微型版,专为嵌入式系统和移动设备设计。
- 适用场景:开发嵌入式设备或功能手机上的应用程序。
- 下载:如果你在开发嵌入式系统或老式移动设备应用,选择 Java ME。
- 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 |
|
- 输出 x86_64 表示 x64 架构。
- 输出 aarch64 表示 ARM64 架构。
2.3、复制链接地址
上面的包选择好点,鼠标点击下载,这时候会弹出登录Oracle账户,没有账户的自己去创建个
登录完成后再重新点击rpm包就会自动开始下载了,进到浏览器下载记录,把这一串地址复制袭来
以下这个是使用我的账户登录后的下载地址:
2.4、使用wget命令下载rpm包
复制下载链接后,使用wget下载rpm包到linux服务器,这里我放在了/root/jdk/目录下,下载完成后在当前目录会多出个jdk-17.0.14_linux-x64_bin.rpm?AuthParam=1748227036_5977d7d72157c9b09ce21b078570bcda文件
接下来把这个文件名改下
1 |
|
改成后缀为.rpm文件,方便继续安装
3、安装JDK17
使用以下命令安装rpm文件
1 |
|
输入命令后安装界面如下
4、验证jdk版本
1 |
|
可以看到已经成功安装了jdk17了
5、配置多版本JDK
这里我们使用alternatives作为多版本jdk管理工具
1 |
|
输入对应的数字即可切换到对应的java版本,微服务启动时java命令填写全路径