CentOS7如何同时安装Java8和Java17

2023-10-16 16:31:42 浏览数 (2)

Java17是长期支持版本,升级到Java17的公司越来越多,特别是Spring Boot3.0最低要求Java17,放弃了对Java8的支持。 但是在升级的时候,还不能保证服务器上的所有Java进程都同步升级,所以系统需要同时安装Java8和Java17。

假设当前系统已经安装了Java8,路径在/usr/bin/java -> /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/jre/bin/java

安装Java17

  • 下载rpm包,然后使用yum localinstall 命令安装 安装完成后/etc/alternatives/java就会链接到新装的Java 17,这样会导致未升级的Java也会使用Java 17,可能导致失败。

支持双版本并兼容未升级的Java程序

  • 新建符号java17符号连接
代码语言:javascript复制
ln -s /usr/lib/jvm/jdk-17-oracle-x64/bin/java /etc/alternatives/java17
ln -s /etc/alternatives/java17 /usr/bin/java17
  • 恢复java8符号连接
代码语言:javascript复制
ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/jre/bin/java /etc/alternatives/java
ln -s /etc/alternatives/java /usr/bin/java
ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64 /etc/alternatives/java_sdk
ln -s /usr/lib/jvm/jdk-17-oracle-x64 /etc/alternatives/java_sdk_17

这样未升级的进程可以不用做任何改动,升级的java进程就是用java17命令

  • maven命令 maven是依赖JAVA_HOME环境变量
代码语言:javascript复制
# Java8
export JAVA_HOME=/etc/alternative/java_sdk
# Java17
export JAVA_HOME=/etc/alternative/java_sdk_17

0 人点赞