在OS X管理多個Java版本

jopen 9年前發布 | 30K 次閱讀 Java Java開發

現在我寫了不少Java。大部分時間我可以用Java7,但不幸的是一些時候仍然必須用Java6編寫,因為他們需要在舊的RedHat服務器上運行。接下來,我還想試試Java 8。

但是,管理不同版本的Java一直有點痛苦,直到我發現jEnv

jEnv允許你用簡單的命令切換到Java的不同版本。這種方式對于用過rbenvplenv的人來說很熟悉。

Homebrew安裝jEnv:

brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb

那么你可以添加下列命令到你的.bash_profile,或等效的方案,以確保它始終可用:

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

現在它已經安裝好了,讓我們看看它可以找到什么版本的Java:

$ jenv versions
* system (set by /Users/ajones/.jenv/version)

對于我來說,它只是發現系統的Java,但我確實有安裝其他版本。星號是當前所選的版本。

不像rbenv和其他同類工具,jEnv無法安裝任何版本的Java,所以我們自己必須安裝它們,將jEnv指向它們。

Apple webiste下載Java6來安裝。它將被安裝到Apple webiste。 用下面的命令來把它添加到jEnv:

$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
oracle64-1.6.0.65 added

運行 jenv versions 將看到:

$ jenv versions
* system (set by /Users/ajones/.jenv/version)
  oracle64-1.6.0.65

到目前為止,一切都很不錯。讓我們從Oracle下載并安裝Java 7。這次他被安裝到/Library/Java/JavaVirtualMachines/,所以用下面的命令把它添加到jEnv:

jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/

最后,Java8也可以從Oracle安裝,用Homebrew Cask更好點:

brew cask install java

它將被安裝到和Java 7相同的位置,因此以相同的方式添加它。

所以,現在我們有三個不同的Java安裝版本,讓我們來看看如何使用它們。

要選擇一個版本,運行jenv local [version],例如:

$ jenv local oracle64-1.6.0.65
$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

您可以使用jenv global [version]來設置默認版本,并通過運行jenv which java顯示Java可執行文件的完整路徑。

可能我最喜歡的jEnv的特點是用.java-version文件在特定目錄設置Java版本。所以,我需要Java6的項目,我保存一個內容是oracle64-1.6.0.65的.java-version文件,當我進入該目錄,jEnv將設置本地Java版本。

就是這樣。我們現在有多個版本的Java,并可以在它們之間輕松切換。 jEnv也有一些其他的功能,如Gradle,Ant,Maven的wrapper,等等,并能偶設置全局或局部JVM選項。查看文檔 以獲取更多信息。

原文鏈接: andrew-jones 翻譯: ImportNew.com - 孟 濤
譯文鏈接: http://www.importnew.com/14866.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!