Linux同时安装多个版本的JDK&linux多版本JDK切换配置- [Centos 安装JDK]
一、查询系统是否已经安装jdk
rpm -qa|grep java
或 rpm -qa|grep jdk
或 rpm -qa|grep gcj
二、卸载已安装的jdk
Centos7存在已安装的JDK1.7时,可以使用以下方式删除1.7的openJDK
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
三、下载安装配置JAVA环境变量
JDK下载地址:
[JDK下载地址](Java Downloads | Oracle)
JDK21
JDK1.8
-
解压到安装目录
个人喜欢将jdk安装到: /opt/java/目录下
安装准备-------------------------------------------------------------------cd /opt/ 切换到opt目录mkdir java 创建java目录------------------------------------------------------------------使用wget下载JDK的tar安装包或复制下载好的安装包到/opt/java/目录cd /opt/java/ 切换java目录tar -zxvf jdk-8u391-linux-x64.tar.gz ---解压jdk1.8
-
编辑JDK环境配置参数
- vim /etc/profile
vim /etc/profile --- 编辑参数配置
配置如下:
----------------------------------------------------------------------
export JAVA_HOME=/opt/java/jdk1.8.0_391
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
----------------------------------------------------------------------
source /etc/profile --- 刷新参数配置
java -version --- 查看Java版本,看是否配置成功
四、java多版本安装配置和切换
在/opt/java/目录下安装多个版本的JDK
- 解压安装
安装准备-------------------------------------------------------------------cd /opt/ 切换到opt目录mkdir java 创建java目录------------------------------------------------------------------使用wget下载JDK的tar安装包或复制下载好的安装包到/opt/java/目录cd /opt/java/ 切换java目录tar -zxvf jdk-8u391-linux-x64.tar.gz ---解压jdk1.8 tar -zxvf jdk-21_linux-x64_bin.tar.gz ---解压jdk21 ------------------------------------------------------------------
-
在/etc/profile.d/目录配置JDK启动环境参数配置脚本文件jdkconf.sh
/etc/profile.d/下的jdkconf.sh会在系统启动时加载配置
配置脚本默认为JDK1.8的配置:
#JDK1.8配置 export JAVA_HOME=/opt/java/jdk1.8.0_391 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
在/opt/java/目录下创建conf目录,分别创建的jdk1.8和jdk21的参数配置文件
cd /opt/java
mkdir conf
vi jdk1.8.conf.sh
创建jdk1.8的环境参数配置文件,内容如下:export JAVA_HOME=/opt/java/jdk1.8.0_391 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
vi jdk21.conf.sh
创建jdk1.8的环境参数配置文件,内容如下:export JAVA_HOME=/opt/java/jdk-21.0.1 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
在~/.bashrc中添加用于切换指定配置文件的命令别名
切换方式是将/opt/java/conf下相应版本的配置文件复制覆盖/etc/profile.d/jdkconf.sh
覆盖指定版本的配置文件:cp -f /opt/java/conf/jdk1.8.conf.sh /etc/profile.d/jdkconf.sh编辑~/.bashrc添加JDK切换的自定义命令别名vi ~/.bashrc 添加以下命令别名alias jdk8='cp -f /opt/java/conf/jdk1.8.conf.sh /etc/profile.d/jdkconf.sh'alias jdk21='cp -f /opt/java/conf/jdk21.conf.sh /etc/profile.d/jdkconf.sh'保存后执行source命令使配置生效source ~/.bashrc
-
-
配置JDK切换脚本
vi /usr/ubin/chjdk.sh
编辑JKD切换脚本- 脚本文件内容:
#声明jdk7和jdk路径变量 JAVA_8_HOME=/opt/java/jdk1.8.0_391 JAVA_21_HOME=/opt/java/jdk-21.0.1#执行脚本传入的值进行判断。默认是jdk1.88 case $1 in8)export JAVA_HOME=$JAVA_8_HOME;;21)export JAVA_HOME=$JAVA_21_HOME;;*)export JAVA_HOME=$JAVA_8_HOME;; esacexport PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
将/usr/ubin/自定义脚本目录加入PATH
mkdir /usr/ubin vi /etc/profile 编辑将自定义脚本目录添加到PATH环境参数: export PATH=$PATH:/usr/ubin soucre /etc/profile 使配置生效
-
加入自定义切换命令
vi ~/.bashrc 添加以下命令别名:alias jdk8='cp -f /opt/java/conf/jdk1.8.conf.sh /etc/profile.d/jdkconf.sh && source chjdk.sh 8'alias jdk21='cp -f /opt/java/conf/jdk21.conf.sh /etc/profile.d/jdkconf.sh && source chjdk.sh 21'source ~/.bashrc 执行source命令使配置生效
生效后就可以通过命令别名jdk8和jdk21来切换jdk环境,切换后需要重启系统才可生效