mac同時安裝jdk7和jdk8


下載地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

推薦方式A:

  1. vi .bash_profile 輸入以下內容  
  2. 然后執行source .bash_profile生效新配置 
  1. # Mac默認 JDK 6(Mac默認自帶了一個jdk6版本)  
  2. export JAVA_6_HOME=`/usr/libexec/java_home -v 1.6`  
  3. # 設置 JDK 7  
  4. export JAVA_7_HOME=`/usr/libexec/java_home -v 1.7`  
  5. # 設置 JDK 8  
  6. export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`  
  7.   
  8. #默認JDK 6  
  9. export JAVA_HOME=$JAVA_6_HOME  
  10.   
  11. #alias命令動態切換JDK版本  
  12. alias jdk6="export JAVA_HOME=$JAVA_6_HOME"  
  13. alias jdk7="export JAVA_HOME=$JAVA_7_HOME"  
  14. alias jdk8="export JAVA_HOME=$JAVA_8_HOME"  

 

 默認jdk為1.6,執行jdk6或jdk7或jdk8后,通過java -version可看到已切換成相應版本。

 

推薦方式B:

1、安裝jenv

執行:curl -s get.jenv.io | bash

jenv參考(關鍵是方便別的java工具管理):https://github.com/linux-china/jenv/wiki/Chinese-Introduction

2、進入jenv目錄,然后建相關目錄:

  1. cd ~/.jenv/candidates/  
  2. mkdir java  
  3. cd java  
  4. mkdir 1.6  
  5. mkdir 1.7  
  6. mkdir 1.8  

 

3、執行以下命令

  1. ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.6  
  2. ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.7  
  3. ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.8  

 

1、最先默認的jdk一般是你最后安裝的那jdk。

2、切換版本:jenv use java 1.8

3、設置缺少版本:jenv default java 1.6

 

不推薦方式:

  1. #區別在於:此部分是寫死路徑的  
  2. export JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home  
  3. export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home  
  4. export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home  
  5.   
  6. #默認JDK 6  
  7. export JAVA_HOME=$JAVA_6_HOME  
  8.   
  9. #alias命令動態切換JDK版本  
  10. alias jdk6="export JAVA_HOME=$JAVA_6_HOME"  
  11. alias jdk7="export JAVA_HOME=$JAVA_7_HOME"  
  12. alias jdk8="export JAVA_HOME=$JAVA_8_HOME"  

 

根據蘋果的官方說明,Mac OS X 10.5 及以后的版本應該使用 /usr/libexec/java_home 命令來確定 JAVA_HOME (推薦方式A就是依據此原理)。

例:

  1. //查看默認jdk的安裝路徑  
  2. /usr/libexec/java_home  
  3.   
  4. //查看jdk 1.6的安裝路徑  
  5. /usr/libexec/java_home -v 1.6  

 

而在此之前的版本由於沒有這個命令,則應該使用固定的 /Library/Java/Home 目錄,也就是直接在環境變量中寫死。

  1. //下面的幾個目錄其實是等價的鏈接關系,都指向的是默認的JDK。但是硬編碼方式,不推薦。  
  2. JAVA_HOME=/Library/Java/Home  
  3. JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home  
  4. JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home  

 因為不同的 Java 版本和不同的 Java 實現可能安裝在了不同的目錄下,所以使用硬編碼的目錄會有如下缺點:

  • 安裝或升級新的 Java 后需要重新設置 JAVA_HOME(尤其是帶版本號的目錄)
  • 無法適應不同的 Java 實現(Apple和Oracle的)
其他分析:
1、打開終端輸入執行:which java,顯示/usr/bin/java
2、執行cd /usr/bin/,再執行ls -ll |grep java,可看到java此命令是link到/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
3、執行:cd /System/Library/Frameworks/JavaVM.framework/Versions/ 進入后,再執行ls -ll,可看到Current -> A,也就是Current目錄link到A目錄。而A目錄在安裝第一個JDK時就存在,用來JDK多版本管理使用的(猜測是使用到JAVA_HOME)。
另外:
/System/Library/Frameworks/JavaVM.framework/Versions/ 下有多個不同(低)版本的目錄,但它們鏈接的都是 CurrentJDK 目錄。總之,這些Java都是蘋果提供的Java,Oracle 或 OpenJDK 提供的 Java 不在此目錄中。
據說以前可在系統設置中“Java Preferences”對話框可設置當前jdk,再自動調整A目錄內容,但我沒看到過。
Java 7 需要 Mac OS X 10.7.3 (Lion) 及以上版本才能安裝。在瀏覽器中運行Java要求是64位瀏覽器,所以不支持Chrome, Safari 或 Firefox 沒問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM