簡體   English   中英

Java 7和Java 8可以在OSX上共存

[英]Can Java 7 and Java 8 co-exist on OSX

我已經安裝了Java 8用於開發目的,但現在我想再次使用Java 7。

我該怎么做呢?

這似乎非常困難。

提前謝謝了。 (我嘗試使用guigarage,但這不起作用)

從終端: export JAVA_HOME=`/usr/libexec/java_home -v 1.x` ,其中x是Java版本。

我個人有一個shell函數,為我做這個:

use-java () {
    export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`
}

我只需要調用use-java 7use-java 8來改變我當前shell的Java版本。

使用jEnv

如果您的系統運行自制程序 ,則可以使用它進行安裝

brew install jenv

(您可能需要先運行brew update才能獲得最新的食譜)

使用將其添加到您的bash配置文件中

echo 'eval "$(jenv init -)"' >> ~/.bash_profile

啟動一個新shell以使對配置文件的此更改生效。

然后你可以像這樣添加jdk:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

列出可用的版本

jenv versions

並在使用環境之間切換

jenv global oracle64-1.8.0.25

還有更多自定義選項,例如每個目錄切換或臨時在單個shell中,請參閱http://www.jenv.be

jEnv的工作原理是為java可執行文件創建填充腳本並將它們放在路徑的前面。 像ant和maven這樣的第三方java工具依賴於JAVA_HOME。 要確保正確設置JAVA_HOME,請運行

jenv enable-plugin export

還有用於maven和groovy等工具的jenv插件。

下面是如何從在OSX小牛(命令行切換Java版本優異的答案通過Neeme Praks ):

編輯~/.bash_profile並添加以下內容:

function setjdk() {  
  if [ $# -ne 0 ]; then  
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'  
   if [ -n "${JAVA_HOME+x}" ]; then  
    removeFromPath $JAVA_HOME  
   fi  
   export JAVA_HOME=`/usr/libexec/java_home -v $@`  
   export PATH=$JAVA_HOME/bin:$PATH  
  fi  
  echo JAVA_HOME set to $JAVA_HOME  
  java -version  
 }  
 function removeFromPath() {  
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")  
 }

(將以上函數添加到.bash_profile

用法:

$ setjdk 1.7

安裝完成后,打開Java Preferences(Launchapad / Others):

在此輸入圖像描述

並將首選版本拖到列表頂部:

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM