Ubuntu16切换多版本的JDK配置

在自己的服务器上部署不同的项目做测试,由于不同的项目所用jdk版本不同,所以要在ubuntu上安装不同版本的jdk进行测试运行,当运行不同的项目就切换对应版本的jdk
注: 不采用修改环境变量配置文件配置jdk环境

安装jdk8

以下jdk安装命令,无需自己配置环境变量

sudo apt install openjdk-8-jre-headless		//安装jre
sudo apt install openjdk-8-jdk-headless		//安装jdk
//注:ubuntu16之后版本不自带jdk8以下版本,所以要在官网下载解压版本然后上传到服务器/usr/lib/jvm/路径下解压(上面命令下安装的jdk路径也是/usr/lib/jvm/)

据说Ubuntu16已经去除了openJdk-7的源,所以本次进行了windows下载jdk1.7-linux解压版本,上传到linux上解压(上传rz命令,如报错,根据提示需安装apt-get install lrzsz即可上传下载,sz下载命令)

如下图(jdk1.7是解压版本,jdk1.8是ubuntu自带源下载的)
在这里插入图片描述
然后通过java -version命令来查看jdk是版本,会发现是1.8版本,而不是手动解压的1.7版本(通过上面命令安装的jdk版本,系统会自动配置环境变量)

明明装了好几个版本的jdk,为什么现在获取的是8,不是7呢。那就找一下,java命令是怎么设置的,最终在/usr/bin路径下找到java命令(如下图)

在这里插入图片描述
我们会发现,这个文件不是一个普通的文件,而是一个链接,指向的是/etc/alternatives/路径下的java 文件,再查看/etc/alternatives/java文件,发现也是个链接
在这里插入图片描述
看该链接的指向,是不是有点熟悉了,对,就是我们上面提到的jdk的安装目录下的可执行文件。终于找到真正的主角了。到这里我们就明白了,原来是靠着链接文件来指向某一个版本的可执行文件来实现多版本配置的。那我们应该怎么改变这个指向呢,这就要用到update-alternatives命令了。

sudo update-alternatives --config java

在这里插入图片描述
注:列表里只显示通过本文最上面的命令安装的jdk版本,如果要把解压版本的jdk添加进列表里,就要使用sudo update-alternatives命令添加,解压版本是不会出现在列表选项里面的,之所以会出现解压版本jdk1.7,是因为我之前通过sudo update-alternatives命令已经添加进去了(如下)

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_80/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_80/bin/javac 300

最后通过sudo update-alternatives --config java输入Selection下的编号回车,就已经切换成对应的jdk版本了
在这里插入图片描述

java -version		//发现jdk已经切换成1.7了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值