首先, 改好的配置, 如果使用的zsh,输入vim ~/.zshrc 修改.zshrc配置文件
加一句 source ~/.bash_profile.
如果不这样, 当你关掉终端后, 设置的配置项将会失效, 因为这种修改的方法,只在当前terminal有效。
1. 问题
使用Mac OS,在这个平台下安装了jdk10, 但需要用jdk8, 所以装了两个jdk (具体安装方法网上很多, 直接官网下或者使用homebrew安装).
看到网上的方法:安装多个版本的jdk,使用alias命令对版本切换的命令重命名,然后再使用的时候直接调用命令的别名就可以了(具体参见http://chessman-126-com.iteye.com/blog/2162466)。关于这个alias命令,从字面上看就是别名的意思,用户可利用alias,自定指令的别名。
2. 解决方案
在Mac OS下打开终端,输入如下命令:
vi .bash_profile
这个命令执行完了会进入bash_profile文件里,我们先敲一下键盘上的“i”,让它进入insert模式,然后输入以下内容(这里要依据你安装的不同的jdk版本来输入,我的电脑上先安装了jdk 10,之后又安装了jdk 1.8,我们要先弄清楚他们的目录在哪里然后再编辑bash_profile文件,查询jdk目录可以使用命令/usr/libexec/java_home -V(是大写V),因为电脑里安装了多个版本的jdk,如果只输入上述命令的话他只会告诉你最近一次安装的jdk的目录在哪里,因此,要想查询不同版本的jdk目录,应该在“-v”(这里是小写v)后面空一格再输入1.8或者10或者别的什么版本号就可以):
# 设置 JDK 8
export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`
# 设置 JDK 10
export JAVA_10_HOME=`/usr/libexec/java_home -v 10`
#默认JDK 8
export JAVA_HOME=$JAVA_8_HOME
#alias命令动态切换JDK版本
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk10="export JAVA_HOME=$JAVA_10_HOME"
最后我们使用命令
source .bash_profile
使之生效就可以了。
3. 实现效果
先看一下当下的jdk版本
shenyideMacBook-Pro:~ shenyi$ java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
然后我们使用jdk7这个命令来改变当前的jdk版本,在终端输入“jdk7”即可,然后再查看版本:
shenyideMacBook-Pro:~ shenyi$ jdk10
shenyideMacBook-Pro:~ shenyi$ java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
也可以这么写
#设置 jdk8
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
#设置 jdk10
export JAVA_10_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
#默认 jdk8
export JAVA_HOME=$JAVA_10_HOME
#alias 命令动态切换JDK版本
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk10="export JAVA_HOME=$JAVA_10_HOME"
最后终端输入:
#使文件生效
source .bash_profile
成功!
附录
vim命令:
按ESC键跳到命令模式,然后:
:w 保存文件但不退出vi.
:w file 将修改另外保存到file中,不退出vi.
:w! 强制保存,不推出vi.
:wq 保存文件并退出vi.
:wq! 强制保存文件,并退出vi.
q: 不保存文件,退出vi.
:q! 不保存文件,强制退出vi.
:e! 放弃所有修改,从上次保存文件开始再编辑
网友评论