在mac下安装jdk1.7(转)

时间:2021-04-03 15:14:45

转自:http://vela.diandian.com/post/2012-01-06/15379924

最近呢,想玩玩jdk1.7,不过mac平台下的jvm一直都是Apple自己改的,所有有些麻烦。这篇文章呢,就是一个详细的步骤,教你如何在mac下安装和使用jdk1.7。当然了,和你想象的一样,我是不会写什么有技术含量的文章的,所以只是一个简单的guide。

 

  1. 首 先呢,为了少出问题,先要让平台装一个java,Snow Leopard下还好(默认就有),Lion的话默认是没有安装任何jvm的,安装方法也很简单,终端下输入java或者启动任何需要用到java虚拟机 的应用,就会自动触发Software Update安装jvm。

  2. 下载mac版专用的jdk1.7,地址如下:http://jdk7.java.net/macportpreview/,里面有最新版的(不过还是测试版),版本更新频率每两周大概会release一个build,我安装的版本是b223(更新一下,最新版本是b227了,已经不是OpenJDK了)。

  3. 下好之后,双击dmg打开,然后简单的来一个拖拽(这个就不废话了,不会拽的面壁去)。

  4. 改变jvm首选顺序,在Spotlight里搜索[Java Preferences](中文版应该是JAVA首选项么?),应该能看到已经有的几个虚拟机,把JAVA SE 7拖拽到最上面,就可以了(比如我拖拽的是64位版本的)。

  5. 确认java使用的版本:开一个终端,输入java -version,确认jvm的版本号是jdk1.7.0。

  6. 下面的操作是如何改变eclipse默认的jre,首先打开eclipse(如果你改了jvm的顺序,让1.7在最上面,又没在eclipse的配置里写死jvm的启动位置,那么应该就已经用jdk1.7启动了)。

  7. 打开首选项->Java->Installed JREs,看到右侧的JRE列表,如果已经使用是默认的jdk1.6的话,点Add,选择MacOS X VM,在路径的地方指向到jdk7的安装位置,就可以了。

  8. 话没说完,如果你找不到这该死的jdk1.7的安装位置在哪里,可以考虑粘下这个地址(这个是我系统里的位置,我猜测大家的都应该差不多哈)。/Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Contents/Home

  9. 正确的话,下面会识别出一堆jar包位置,然后给这一坨jre起个帅气的名字。

  10. 如 果想启用jdk1.7的语法,必须要eclipse版本在3.8/4.2以上(目前我写这篇博客的时候,4.2已经达到了Milestone4),然后可 以在workspace/project属性里把编译等级调整到1.7,就能享受jdk1.7的语言特性了(不过前提是,使用的jdk以及jre必须都是 jdk1.7以上才行)。

希望这篇啰嗦的文章对大家有帮助。

更新信息

  1. 支持Java7语法的eclipse版本是从3.7开始的,具体见如下地址:http://wiki.eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29

  2. Mac下Eclipse默认还是会使用系统的jdk1.6启动,好像强制修改eclipse.ini的vm参数是无效的,必须修改Eclipse.app/Content/Info.plist,打开看里面有注释写着呢。不过我这里eclipse4.2M4修改后依然无效。

  3. 有时候会出现部分应用还使用旧的jdk1.6的情况出现,例如maven有时候就会坚持用旧版的,这时候只好找个地方导出下JAVA_HOME变量了。改到jdk1.7的Home目录即可。

  4. jdk1.7 macport从b11开始合并了分支代码,开始已经直接使用安装程序安装了,相应安装到的路径也改变了,是这个:/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home 。update on 2012-2-12

  5. 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

  6. 我忘记从某个版本开始了,装完后eclipse已经可以自动使用jdk7了,所以上面的第二条更新信息就作废鸟:)update on 2012-9-24