如何在Mac下配置多個(gè)Java版本
說(shuō)明
使用工具:brew cask
brew cask是一個(gè)用命令行管理Mac下應(yīng)用的工具,提供了自動(dòng)安裝和卸載功能,能夠自動(dòng)從官網(wǎng)上下載并安裝 最新的版本,它是基于homebrew的一個(gè)增強(qiáng)工具。
一. 安裝最新版的Java
# 如何沒(méi)有安裝 brew cask。請(qǐng)執(zhí)行 $ brew tap caskroom/versions $ brew cask install java
二.安裝其他版本的Java
如果你需要安裝其他的jdk(JDK 7 或者 JDK 6),可以使用homebrew-cask-versions:
$ brew tap caskroom/versions # 安裝cask,如果已安裝了cask可以省略。 $ brew cask install java6 # 使用cask安裝其他的工具
三.查看本地安裝的Java Home
$ /usr/libexec/java_home -V #查看本地安裝的java版本
四.切換java版本【手動(dòng)修改環(huán)境變量】
那問(wèn)題來(lái)了,當(dāng)你運(yùn)行java或者 Java 程序時(shí)使用的是哪個(gè) JDK 呢?在 OS X 下,java也就是/usr/bin/java在默認(rèn)情況下指向的是已經(jīng)安裝的最新版本。但是你可以設(shè)置環(huán)境變量JAVA_HOME來(lái)更改其指向
# 查看當(dāng)前的java版本 $ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) # 切換版本,可切換為第三步的本地java home中的任意一個(gè)。 $ export JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
五.配置命令自動(dòng)切換
修改系統(tǒng)環(huán)境變量:
在~/.bash_profile(如果是Zsh,修改~/.zshrc)文件中添加如下內(nèi)容:
# JDK 6 export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" # JDK 8 export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home" export JAVA_HOME=$JAVA_8_HOME #默認(rèn)JDK 8 #alias命令動(dòng)態(tài)切換JDK版本 alias jdk6="export JAVA_HOME=$JAVA_6_HOME" alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
更新配置:
$ source ~/.bash_profile #Zsh應(yīng)改為 source ~/.zshrc
切換java版本:
$ jdk6 #使用jdk6 $ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode) $ jdk8 #使用jdk8 $ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
說(shuō)明:Mac系統(tǒng)的環(huán)境變量,加載順序?yàn)椋?br /> /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
相關(guān)文章
PowerJob的DesignateServer工作流程源碼解讀
這篇文章主要介紹了PowerJob的DesignateServer工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Java中過(guò)濾器 (Filter) 和 攔截器 (Interceptor)的使用
這篇文章主要介紹了Java中過(guò)濾器 (Filter) 和 攔截器 (Interceptor)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
JAVA多線程和并發(fā)基礎(chǔ)面試問(wèn)答(翻譯)
多線程和并發(fā)問(wèn)題是Java技術(shù)面試中面試官比較喜歡問(wèn)的問(wèn)題之一。在這里,從面試的角度列出了大部分重要的問(wèn)題,但是你仍然應(yīng)該牢固的掌握J(rèn)ava多線程基礎(chǔ)知識(shí)來(lái)對(duì)應(yīng)日后碰到的問(wèn)題2014-09-09
java實(shí)現(xiàn)非法訪問(wèn)異常示例
創(chuàng)建ExceptionTest類,在該類的main()方法中,使用反射獲得String類的所有域,不要使用setAccessible方法修改這些域的可見(jiàn)性,然后通過(guò)反射獲得私有域中與”hash”相匹配的int值,并使用try-catch語(yǔ)句塊捕獲非法訪問(wèn)異常2014-02-02

