日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MAC下安装多版本JDK和切换几种方式

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MAC下安装多版本JDK和切换几种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:

MAC AIR,OS X 10.10,64位

?

歷史:

過去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 開始系統并不自帶(而是可選安裝)(原自帶的是1.6)。

后來 Apple 加入 OpenJDK 繼續支持 Java 6,而 Java 7 將由 Oracle 負責提供。

?

在終端中輸入java -version可查看當前JDK版本信息,如果還沒安裝任一JDK,就會提示安裝,點擊后會跳到oralce java的下載網頁。

?

安裝包(注意都是下載mac下的dmg安裝包):

JDK 1.6(驗證OS X 10.10可用):http://support.apple.com/kb/DL1572

JDK 1.7&1.8(1.7在頁面下方):http://www.oracle.com/technetwork/java/javase/downloads/index.html

?

安裝:

dmg安裝包,安裝過程如一般程序,略

?

最終安裝目錄(版本號根據情況略有不同):

JDK 1.6:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk

?

JDK 1.7&1.8:

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

?

推薦方式A:

Java代碼??
  • vi?.bash_profile?輸入以下內容??
  • 然后執行source?.bash_profile生效新配置??
  • ?

    Java代碼??
  • #?Mac默認?JDK?6(Mac默認自帶了一個jdk6版本)??
  • export?JAVA_6_HOME=`/usr/libexec/java_home?-v?1.6`??
  • #?設置?JDK?7??
  • export?JAVA_7_HOME=`/usr/libexec/java_home?-v?1.7`??
  • #?設置?JDK?8??
  • export?JAVA_8_HOME=`/usr/libexec/java_home?-v?1.8`??
  • ??
  • #默認JDK?6??
  • export?JAVA_HOME=$JAVA_6_HOME??
  • ??
  • #alias命令動態切換JDK版本??
  • alias?jdk6="export?JAVA_HOME=$JAVA_6_HOME"??
  • alias?jdk7="export?JAVA_HOME=$JAVA_7_HOME"??
  • 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目錄,然后建相關目錄:

    Java代碼??
  • cd?~/.jenv/candidates/??
  • mkdir?java??
  • cd?java??
  • mkdir?1.6??
  • mkdir?1.7??
  • mkdir?1.8??
  • ?

    3、執行以下命令:

    Java代碼??
  • ln?-s?/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin?~/.jenv/candidates/java/1.6??
  • ln?-s?/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin?~/.jenv/candidates/java/1.7??
  • 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

    ?

    不推薦方式:

    Java代碼??
  • #區別在于:此部分是寫死路徑的??
  • export?JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home??
  • export?JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home??
  • export?JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home??
  • ??
  • #默認JDK?6??
  • export?JAVA_HOME=$JAVA_6_HOME??
  • ??
  • #alias命令動態切換JDK版本??
  • alias?jdk6="export?JAVA_HOME=$JAVA_6_HOME"??
  • alias?jdk7="export?JAVA_HOME=$JAVA_7_HOME"??
  • alias?jdk8="export?JAVA_HOME=$JAVA_8_HOME"??
  • ?

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

    例:

    Java代碼??
  • //查看默認jdk的安裝路徑??
  • /usr/libexec/java_home??
  • ??
  • //查看jdk?1.6的安裝路徑??
  • /usr/libexec/java_home?-v?1.6??
  • ?

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

    Java代碼??
  • //下面的幾個目錄其實是等價的鏈接關系,都指向的是默認的JDK。但是硬編碼方式,不推薦。??
  • JAVA_HOME=/Library/Java/Home??
  • JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home??
  • 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 沒問題。

    轉載于:https://www.cnblogs.com/luodengxiong/p/5736806.html

    總結

    以上是生活随笔為你收集整理的MAC下安装多版本JDK和切换几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。