前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >CentOS7安装java8和java11,实现版本共存且自由切换

CentOS7安装java8和java11,实现版本共存且自由切换

原创
作者头像
郑郑SunUp
修改2025-01-05 20:15:35
修改2025-01-05 20:15:35
2270
举报
文章被收录于专栏:LinuxLinux

1、老版本安装jdk1.8--需要卸载

本人使用的

链接:https://pan.baidu.com/s/1LszbdHk31yqIIHjfh_SOlA

提取码:2w3e

1.1、解压安装

代码语言:txt
复制
cd /usr/local/

把jdk上传到该目录

进行解压
tar -zxvf jdk-8u221-linux-x64.tar.gz
mv jdk1.8.0_221/ jdk1.8

1.2、配置环境

代码语言:txt
复制
vi /etc/profile

添加代码
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

1.3、完成样式

代码语言:txt
复制
//截取下部分
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi
 
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done
unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

1.4、刷新+检查

代码语言:txt
复制
source /etc/profile



java -version
这个样子
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2、卸载老版本jdk1.8

2.1、删除原来的文件

代码语言:txt
复制
cd /usr/local/
rm -rf jdk1.8
rm -rf jdk-8u221-linux-x64.tar.gz

2.2、修改配置文件

代码语言:txt
复制
vi /etc/profile

注释之前添加的代码
# export JAVA_HOME=/usr/local/jdk1.8
# export JRE_HOME=${JAVA_HOME}/jre
# export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
# export PATH=${JAVA_HOME}/bin:${PATH}

2.3、刷新配置文件及验证

代码语言:txt
复制
source /etc/profile

java -version #显示找不到命令

3、使用yum源安装java8和java11

这样安装的原因:最新的一些组件不支持jdk1.8版本。

3.1、安装Java 8 和 Java 11

安装Java 8:

代码语言:txt
复制
sudo yum install java-1.8.0-openjdk-devel

安装Java 11:

代码语言:txt
复制
sudo yum install java-11-openjdk-devel

3.2、设置Java环境变量

为了能够自由切换,在 /etc/profile.d 或者用户家目录下的 .bashrc 或 .bash_profile 文件中设置不同的Java版本的环境变量。

例如:

创建Java 8环境变量配置文件

代码语言:txt
复制
sudo vim /etc/profile.d/java8.sh

在打开的文件中添加如下内容:

代码语言:txt
复制
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

保存并退出编辑器。

创建Java 11环境变量配置文件

代码语言:txt
复制
sudo vim /etc/profile.d/java11.sh

同样,在这个文件中添加对应Java 11的环境变量:

代码语言:txt
复制
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

保存并退出编辑器。

3.3、切换Java版本

要切换Java版本,只需启用或禁用相应的环境变量配置文件。

激活Java 8:

代码语言:txt
复制
source /etc/profile.d/java8.sh

激活Java 11:

代码语言:txt
复制
source /etc/profile.d/java11.sh

3.4、版本切换问题

每次开机或者打开新的窗口,默认是1.8的jdk,建议大家只安装一个版本的jdk,或者每次开机或者打开新的窗口后手动执行切换版本。

每次执行上述命令后,新开的终端窗口或重新登录时就会使用对应的Java版本。

注意:实际路径 /usr/lib/jvm/java-1.8.0-openjdk 和 /usr/lib/jvm/java-11-openjdk 应根据系统实际安装的Java版本所在路径进行调整。

另外,在某些系统中,Java版本可能位于类似 /usr/lib/jvm/java-8-openjdk-amd64 或 /usr/lib/jvm/java-11-openjdk-amd64 这样的路径下,请确保您配置的是正确的路径。可以通过 ls /usr/lib/jvm/ 命令来查看已安装的所有Java版本的具体路径。

4、卸载jdk

通过命令查询是否已经安装jdk

代码语言:txt
复制
//括号中选择一个即可
yum list installed | grep [java][jdk]

运行结果类似下图则说明系统已经存在jdk,可卸载

卸载jdk(若未存在jdk不用执行)

卸载的jdk按已存在的jdk版本进行卸载,示例为jdk1.8.0,不知版本号可观上图

代码语言:txt
复制
#卸载所有openjdk相关文件输入
yum -y remove java-1.8.0-openjdk*
#卸载tzdata-java
yum -y remove tzdata-java.noarch  

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、老版本安装jdk1.8--需要卸载
    • 1.1、解压安装
    • 1.2、配置环境
    • 1.3、完成样式
    • 1.4、刷新+检查
  • 2、卸载老版本jdk1.8
    • 2.1、删除原来的文件
    • 2.2、修改配置文件
    • 2.3、刷新配置文件及验证
  • 3、使用yum源安装java8和java11
    • 3.1、安装Java 8 和 Java 11
    • 3.2、设置Java环境变量
    • 3.3、切换Java版本
    • 3.4、版本切换问题
  • 4、卸载jdk
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档