標籤:
轉自:http://vela.diandian.com/post/2012-01-06/15379924
最近呢,想玩玩jdk1.7,不過mac平台下的jvm一直都是Apple自己改的,所有有些麻煩。這篇文章呢,就是一個詳細的步驟,教你如何在mac下安裝和使用jdk1.7。當然了,和你想象的一樣,我是不會寫什麼有技術含量的文章的,所以只是一個簡單的guide。
首 先呢,為了少出問題,先要讓平台裝一個java,Snow Leopard下還好(預設就有),Lion的話預設是沒有安裝任何jvm的,安裝方法也很簡單,終端下輸入java或者啟動任何需要用到java虛擬機器 的應用,就會自動觸發Software Update安裝jvm。
下載mac版專用的jdk1.7,地址如下:http://jdk7.java.net/macportpreview/,裡面有最新版的(不過還是測試版),版本更新頻率每兩周大概會release一個build,我安裝的版本是b223(更新一下,最新版本是b227了,已經不是OpenJDK了)。
下好之後,雙擊dmg開啟,然後簡單的來一個拖拽(這個就不廢話了,不會拽的面壁去)。
改變jvm首選順序,在Spotlight裡搜尋[Java Preferences](中文版應該是JAVA喜好設定嗎?),應該能看到已經有的幾個虛擬機器,把JAVA SE 7拖拽到最上面,就可以了(比如我拖拽的是64位版本的)。
確認java使用的版本:開一個終端,輸入java -version,確認jvm的版本號碼是jdk1.7.0。
下面的操作是如何改變eclipse預設的jre,首先開啟eclipse(如果你改了jvm的順序,讓1.7在最上面,又沒在eclipse的配置裡寫死jvm的啟動位置,那麼應該就已經用jdk1.7啟動了)。
開啟喜好設定->Java->Installed JREs,看到右側的JRE列表,如果已經使用是預設的jdk1.6的話,點Add,選擇MacOS X VM,在路徑的地方指向到jdk7的安裝位置,就可以了。
話沒說完,如果你找不到這該死的jdk1.7的安裝位置在哪裡,可以考慮粘下這個地址(這個是我系統裡的位置,我猜測大家的都應該差不多哈)。/Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Contents/Home
正確的話,下面會識別出一堆jar包位置,然後給這一坨jre起個帥氣的名字。
如 果想啟用jdk1.7的文法,必須要eclipse版本在3.8/4.2以上(目前我寫這篇部落格的時候,4.2已經達到了Milestone4),然後可 以在workspace/project屬性裡把編譯等級調整到1.7,就能享受jdk1.7的語言特性了(不過前提是,使用的jdk以及jre必須都是 jdk1.7以上才行)。
希望這篇囉嗦的文章對大家有協助。
更新資訊
支援Java7文法的eclipse版本是從3.7開始的,具體見如下地址:http://wiki.eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29
Mac下Eclipse預設還是會使用系統的jdk1.6啟動,好像強制修改eclipse.ini的vm參數是無效的,必須修改Eclipse.app/Content/Info.plist,開啟看裡面有注釋寫著呢。不過我這裡eclipse4.2M4修改後依然無效。
有時候會出現部分應用還使用舊的jdk1.6的情況出現,例如maven有時候就會堅持用舊版的,這時候只好找個地方匯出下JAVA_HOME變數了。改到jdk1.7的Home目錄即可。
jdk1.7 macport從b11開始合并了分支代碼,開始已經直接使用安裝程式安裝了,相應安裝到的路徑也改變了,是這個:/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home 。update on 2012-2-12
jdk1.7u6 b09開始,bundle name變更,這樣就可以在安裝新版本的同時保留舊版本了。當然了,路徑也會變化,變成了這個樣子:/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk,其中06是update版本號碼。簡易大家可以做一個軟串連,cd /Library/Java/JavaVirtualMachines;ln -s jdk1.7.0_06.jdk 1.7.0.jdk,這樣就不會受到版本升級的影響了(這樣eclipse裡設定的JRE路徑就用軟串連裡的路徑就好了)。update on 2012-5-11
我忘記從某個版本開始了,裝完後eclipse已經可以自動使用jdk7了,所以上面的第二條更新資訊就作廢鳥:)update on 2012-9-24
在mac下安裝jdk1.7(轉)