Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法

简述

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.

详细内容

1. 如何查询本机的java版本?

打开终端,输入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)

2. Mac 上的 Java 控制面板在何处?  

请注意,只有安装了oracle的java 7 才会有控制面板,详细见Orace的官网。

    单击屏幕左上角的 Apple 图标。

    转到系统偏好设置

    单击 Java 图标以访问 Java 控制面板。

3. 解决Eclipse的找不到源码的问题 The JAR file /System/.../classes.jar has no sourece attachment.

Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法_第1张图片

原因分析:

系统自带的jdk并没有源码包,需要从apple官网上下载

解决方法如下:

3.1 下载包含源代码java开发包

下载地址如下 https://developer.apple.com/downloads/index.action 开发包里面还有很多其他的东西,此处不介绍。

用你的apple ID 登录,第一次登录是提示进行注册,一路点下去就行了。到这个页面

Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法_第2张图片

现在最新版本的开发包如下:Java for OS X 2013-004 Developer Package, 下载后正常安装

网上看到的很多博客介绍的都是去http://connect.apple.com 下载,可是这个地址打不开,估计是以前的下载链接,已经失效了。

3.2 安装和配置

参考博客 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

3.3 JAVA_HOME的设置

参考这个博客 http://kennylee26.iteye.com/blog/1772638 

4. 修改Eclipse中绑定的源代码

假如系统的java版本和源代码都进行了更新,此时需要重新绑定新版本的源代码,怎么操作?

还有一个类似的场景,在给android.jar指定源代码时,有可能选择了错误api版本的源代码,如何修改?

方法如下,附上截图一枚,步骤大致如下:

打开build patch,libraries标签页,找到classes.jar,选中,然后点击右边的Edit就出来配置页面了。

Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法_第3张图片





你可能感兴趣的:(java,eclipse,jdk,mac)