Linux下切换使用两个版本的JDK

本文介绍如何在Linux系统中配置并切换不同版本的JDK,包括1.7和1.8版本之间的切换过程及使用alternatives命令进行管理。

Linux下切换使用两个版本的JDK

我这里原来已经配置好过一个1.7版本的jdk。

输出命令:
java -version

[root@hu-hadoop1 sbin]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

我的配置文件是:

vi /ect/profig

export JAVA_HOME=/home/bigdata/jdk1.7.0_79

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:

现在我们导入java JDK1.8 .
这里写图片描述
然后输入命令:

tar zxvf jdk-8u161-linux-x64.tar.gz

我的解压路径为:

/home/bigdata/jdk1.8.0_161

然后运作,设置选择使用:

alternatives --install /usr/bin/java java /home/bigdata/jdk1.8.0_161/bin/java 3
alternatives --install /usr/bin/java java /home/bigdata/jdk1.7.0_79/bin/java 4

如果添加错误可以使用以下命令删除:

alternatives --remove java /home/bigdata/jdk1.7.0_79/bin

然后使用一下命令切换两个JDK的使用:

alternatives --config java

这里写图片描述

然后再输入命令

java -version
[root@hu-hadoop1 jdk1.8.0_161]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[root@hu-hadoop1 jdk1.8.0_161]# 

这里写图片描述

这里就完成了两个jdk版本的切换使用了。。

了解alternatives

输入命令:

alternatives 

这里写图片描述
这里有关于它的所有命令:

       alternatives     --install <link> <name> <path> <priority>
                    [--initscript <service>]
                    [--slave <link> <name> <path>]*
       alternatives --remove <name> <path>
       alternatives --auto <name>
       alternatives --config <name>
       alternatives --display <name>
       alternatives --set <name> <path>
  • install表示安装
  • link是符号链接
  • name则是标识符
  • priority则表示优先级

如果切換完成后发现版本不能改变时,你可以将
vi /etc/profile
中的JAVA_HOME注释调,然后重新加载一下配置文件,
source /etc/profile
发现可以了,java版本切换成功了。
然后你再把配置文件改回来,重新加载,然后就可以了。

### 安装多个JDK版本Linux 系统中安装多个 JDK 版本,可以通过解压不同版本JDK 安装包到指定目录来实现。例如,在 `/opt/jdk` 或 `/opt/java/` 目录下分别解压不同版本JDK 文件: ```bash sudo mkdir /opt/jdk sudo cp jdk-8u301-linux-x64.tar.gz /opt/jdk cd /opt/jdk sudo tar -zxvf jdk-8u301-linux-x64.tar.gz ``` 同样的步骤可以用于其他版本JDK 安装包,只需更改文件名和目标目录即可。 对于 CentOS 系统,还可以使用 `alternatives` 命令将不同版本JDK 注册为系统默认选项: ```bash sudo alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_301/bin/java 1 sudo alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_301/bin/javac 1 ``` 这允许用户通过 `update-alternatives` 命令选择默认的 JavaJavac 版本。 ### 配置多个JDK版本 为了能够在不同的 JDK 版本之间切换,可以利用 `JAVA_HOME` 环境变量来指定当前使用JDK 版本。编辑用户的 `.bashrc` 或 `.profile` 文件,并添加相应的环境变量设置: ```bash export JAVA_HOME=/opt/jdk/jdk1.8.0_301 export PATH=$JAVA_HOME/bin:$PATH ``` 更新环境变量后,可以通过以下命令验证当前使用Java 版本: ```bash java -version ``` 如果需要切换到另一个 JDK 版本,只需修改 `JAVA_HOME` 指向新的 JDK 安装路径,并重新加载配置文件或重启终端会话。 对于希望更加灵活地管理多个 JDK 版本的开发者,可以考虑使用别名(alias)或者脚本来简化版本切换过程。例如,在用户的 `.bashrc` 文件中定义别名: ```bash alias setjdk8='export JAVA_HOME=/opt/jdk/jdk1.8.0_301 && export PATH=$JAVA_HOME/bin:$PATH' alias setjdk17='export JAVA_HOME=/opt/jdk/jdk-17.0.1 && export PATH=$JAVA_HOME/bin:$PATH' ``` 这样,只需要输入 `setjdk8` 或 `setjdk17` 即可快速切换 JDK 版本。 此外,也可以采用 Docker 进行环境隔离,使得每个项目都能在其所需的特定 JDK 版本下运行,而不影响系统的全局配置[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值