歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

如何在 OS X 中使用多個版本JDK

如何在 OS X 中使用多個版本JDK


如何在 OS X 中使用多個版本JDK


升級macbook小白的硬盤成SSD後,重新安裝了系統和JDK8,但是啟動eclipse還是報告需要安裝JDK6,於是也按照提示安裝了Apple JDK6,這導致系統中有兩個JDK,一個是Oracle的JDK8,另外一個Apple的JDK6,混亂開始了。   在命令行執行java -version,提示是JDK8,好像一切正常,但執行 mvm clean install 卻發現maven使用了JDK6!迷惑了,這是怎麼回事呢?   ———————— 華麗的分割線 ————————  

原來 OSX 上的Java安裝路徑分兩派,一是Apple派,另外一個是Oracle派。


Oracle派將JDK安裝到 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents 目錄; Apple派將JDK安裝到 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents 目錄;   系統默認的JDK版本,是通過 link 來實現的,也就是說java程序如maven、eclispe選擇哪個派別的JDK是通過各自的啟動腳本,按照約定的link文件去查找java程序的。比如 maven 就會先找Apple的JDK後找Orale的JDK。   Apple派的JDK,支持多版本,怎麼支持呢?很簡單,就是把文件 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK link 到某個版本的JDK 就好了。   Oracle派的JDK也支持多版本,他是怎麼實現的呢?原來也學Apple一樣,通過 link 到不同版本的JDK安裝路徑來實現,Oracle 的 link 文件是 /System/Library/Frameworks/JavaVM.framework/Versions/Current。   怎麼解決之前碰到的 maven 使用 Apple 的JDK6,而不會用最新的Oralce JDK8 的問題呢?   先看下maven的啟動腳本,原來很多java框架,會給開發者一個機會,去優先指定你使用的JDK目錄,比如maven就會先查看是否JAVA_HOME有設定,如果有設定就使用設定的jdk路徑,否則才去找Apple的缺省JDK,最後找Oracle的默認JDK。於是解決方案就是:設定JAVA_HOME環境變量到 Oracle JDK8的安裝目錄。   具體命令如下:   編輯 ~/.bash_profile,添加下面行 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home   附錄:   如果要修改 eclipse 啟動時使用的 JDK,可以這樣: 編輯 eclipse_kepler/Eclipse.app/Contents/MacOS 中的 eclipse.ini,加入下面兩行 -vm /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin/java  

Ubuntu 14.04安裝JDK1.8.0_25與配置環境變量  

CentOS 搭建JDK環境   

Ubuntu 14.04安裝JDK1.8.0_25與配置環境變量   

Ubuntu 14.04 LTS安裝Oracle JDK 1.8   

CentOS6.3安裝JDK和環境配置  

Ubuntu 14.04 安裝 JDK8   

Ubuntu下安裝JDK圖文解析  

本文永久更新鏈接地址: 

http://xxxxxx/Linuxjc/1147426.html TechArticle

Copyright © Linux教程網 All Rights Reserved