首先, 改好的配置, 如果使用的zsh,輸入vim ~/.zshrc 修改.zshrc配置文件
加一句 source ~/.bash_profile.
如果不這樣, 當(dāng)你關(guān)掉終端后, 設(shè)置的配置項(xiàng)將會(huì)失效, 因?yàn)檫@種修改的方法,只在當(dāng)前terminal有效。
1. 問(wèn)題
使用Mac OS,在這個(gè)平臺(tái)下安裝了jdk10, 但需要用jdk8, 所以裝了兩個(gè)jdk (具體安裝方法網(wǎng)上很多, 直接官網(wǎng)下或者使用homebrew安裝).
看到網(wǎng)上的方法:安裝多個(gè)版本的jdk,使用alias命令對(duì)版本切換的命令重命名,然后再使用的時(shí)候直接調(diào)用命令的別名就可以了(具體參見(jiàn)http://chessman-126-com.iteye.com/blog/2162466)。關(guān)于這個(gè)alias命令,從字面上看就是別名的意思,用戶可利用alias,自定指令的別名。
2. 解決方案
在Mac OS下打開(kāi)終端,輸入如下命令:
vi .bash_profile
這個(gè)命令執(zhí)行完了會(huì)進(jìn)入bash_profile文件里,我們先敲一下鍵盤(pán)上的“i”,讓它進(jìn)入insert模式,然后輸入以下內(nèi)容(這里要依據(jù)你安裝的不同的jdk版本來(lái)輸入,我的電腦上先安裝了jdk 10,之后又安裝了jdk 1.8,我們要先弄清楚他們的目錄在哪里然后再編輯bash_profile文件,查詢jdk目錄可以使用命令/usr/libexec/java_home -V(是大寫(xiě)V),因?yàn)殡娔X里安裝了多個(gè)版本的jdk,如果只輸入上述命令的話他只會(huì)告訴你最近一次安裝的jdk的目錄在哪里,因此,要想查詢不同版本的jdk目錄,應(yīng)該在“-v”(這里是小寫(xiě)v)后面空一格再輸入1.8或者10或者別的什么版本號(hào)就可以):
# 設(shè)置 JDK 8
export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`
# 設(shè)置 JDK 10
export JAVA_10_HOME=`/usr/libexec/java_home -v 10`
#默認(rèn)JDK 8
export JAVA_HOME=$JAVA_8_HOME
#alias命令動(dòng)態(tài)切換JDK版本
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk10="export JAVA_HOME=$JAVA_10_HOME"
最后我們使用命令
source .bash_profile
使之生效就可以了。
3. 實(shí)現(xiàn)效果
先看一下當(dāng)下的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這個(gè)命令來(lái)改變當(dāng)前的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)
也可以這么寫(xiě)
#設(shè)置 jdk8
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
#設(shè)置 jdk10
export JAVA_10_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
#默認(rèn) jdk8
export JAVA_HOME=$JAVA_10_HOME
#alias 命令動(dòng)態(tài)切換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! 強(qiáng)制保存,不推出vi.
:wq 保存文件并退出vi.
:wq! 強(qiáng)制保存文件,并退出vi.
q: 不保存文件,退出vi.
:q! 不保存文件,強(qiáng)制退出vi.
:e! 放棄所有修改,從上次保存文件開(kāi)始再編輯