一篇tips,其实这个应该是几年前的笔记了,换电脑要重新设置一遍就又想起来了,正好乘机会把笔记整理出来,其实关于关于java版本切换的博客网上一搜一大堆,但是没关系,自己记一遍巩固记忆。
问题的起源:
项目上的代码关系日渐复杂,很多以前的项目还停留在java1.7的时候,有些新项目已经忍不住开始用起了java11,再加上微服务的盛行,作为一个切换在不同微服务项目的后端开发,还是维护遗留项目和开发新项目,切换项目的频率之高,不可想象,因此趁手的工具迫在眉睫,急需配置好可以方便快速的切换环境,将时间花在业务上。
如何做:
问题明确了,解决方案明确了,就是如何做的问题了。这里因为拿到新电脑之后工作原因不是用的自己的电脑,所以新电脑稍微配置了一下之后就置于一旁,这里需要回忆一下设置到哪一步了。
首先,确定本机当前java版本,这个当然是最基础的命令了,同时确定一下自己以前有没有设置过JAVA_HOME
java -version
echo $JAVA_HOME
查看当前java版本
查看是否配置java_home
这里看到之前是有装过jdk1.8的,但是并没有自己额外设置java home,当时java究竟装在哪里咧,虽然google一下(或者百度一下)很容易就可以得到答案,但是我们还是可以看看命令行是如何查看的
which java
ls -l [path]
找到java的安装位置
先用which找到正在使用的java的位置,但是这个位置一般都是链接到另外真实的安装路径下的,这里我们可以进入到这个文件看看都有些什么内容,通过文件夹下的java_home命令可以进一步确认。
查看文件夹内容
java_home在这里
至此我们就找到了已有java的安装路径,我们在后续的配置中会用到它。
其次,我们可以下载安装新的jdk,下载地址如下:https://www.oracle.com/technetwork/java/javase/downloads/index.html
我们一般选择java SE版本,找到对应的jdk版本即可,因为是mac,我选择的是macOS的dmg文件,下载好之后直接开始安装,无脑版安装即可,一路Continue。
jdk11
开始安装
安装好后,当我们再次查看java版本的时候,会发现命令行已经是最新安装的java的版本了,使用前面同样的方法可以找到最新的java的安装路径
查看java版本
这里我们可以通过设置JAVA_HOME的方式调回使用jdk1.8,我们可以打开./bash_profile文件,没有这个文件的可以新建,在文件中加入如下图两行:
设置jdk1.8为java_home
保存退出(:wq)之后可以重新打开terminal或者输入source ./bash_profile, 在来查看java 版本会发现变回了1.8.
查看java 版本
如法炮制,我们可以把jdk11的路径也配置好,并且设置两个别名,通过别名设置java_home的位置
添加jdk11并设置别名
配置好之后重复之前重启terminal的动作,至此就可以在java不同版本之间通过别名快速的切换了。
通过别名切换jdk版本
结论:
就是这么简单就可以方便的切换jdk版本,如果需要使用更多的版本可以继续添加,其实这个套路可以应用到很多操作上去,例如有时候python也需要切换版本,也可以这样来做到。