1. Mac OS(10.8版本)自带了jdk1.6或者说java6,但是没有源代码。Mac OS自带的java 6是由苹果负责发布和更新的,跟Oracle的java 6略有不同,比如没有rt.jar,取而代之的是classes.jar 其他一些详细信息可参考 http://my.oschina.net/hmj/blog/79939
2. Oracle官方没有提供给Mac OS使用的java 6,但是从Orace官网可以下载java 7及源代码 ,Oracle官方提供了详细的安装指南,本文不做介绍。参见 http://www.java.com/zh_CN/download/help/mac_install.xml
3. Mac OS上java 6和java 7 可以共存,这个本人未测试,不做介绍,网上大把的帖子
4. 介绍从哪里下载java 6的源代码,并解决eclipse找不到源代码的问题The JAR file /System/.../classes.jar has no sourece attachment.
打开终端,输入java -version
yangdeMacBook-Air:~ feiniao$ java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
请注意,只有安装了oracle的java 7 才会有控制面板,详细见Orace的官网。
单击屏幕左上角的 Apple 图标。
转到系统偏好设置
单击 Java 图标以访问 Java 控制面板。
原因分析:
系统自带的jdk并没有源码包,需要从apple官网上下载
解决方法如下:
下载地址如下 https://developer.apple.com/downloads/index.action 开发包里面还有很多其他的东西,此处不介绍。
用你的apple ID 登录,第一次登录是提示进行注册,一路点下去就行了。到这个页面
现在最新版本的开发包如下:Java for OS X 2013-004 Developer Package, 下载后正常安装
网上看到的很多博客介绍的都是去http://connect.apple.com 下载,可是这个地址打不开,估计是以前的下载链接,已经失效了。
参考博客 http://www.blogjava.net/lsbwahaha/archive/2012/10/16/389692.html 执行以下步骤
1.sudo -s
2.cd /System/Library/Frameworks/JavaVM.framework/Home
3.ln -s /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Home/docs.jar .
4.ln -s /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Home/src.jar .
5.最后跟windows类似,在eclipse中用command + click点击查看一个类的源码。然后选“add source",选中上面的 src.jar 文件即可
注意上面的版本号要根据自己机子上软件版本号修改。其实按下tab就自己出来了。我按照这个操作成功了,但上述的命令3 和 4 自认为不执行也可以,在Eclipse添加的源代码界面,直接找到执行软连接的源文件也可以,因为这些文件所有用户都有读权限。
这样操作可能是考虑到把源代码放到Mac OS本身的java目录吧。
另外
在终端运行type java 可以看到java是位于/usr/bin/java的,是个软连接
java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
参考这个博客 http://kennylee26.iteye.com/blog/1772638
还有一个类似的场景,在给android.jar指定源代码时,有可能选择了错误api版本的源代码,如何修改?
方法如下,附上截图一枚,步骤大致如下:
打开build patch,libraries标签页,找到classes.jar,选中,然后点击右边的Edit就出来配置页面了。