Java / Eclipse在MacOSX上:哪里是src.zip?

使用MacOSX 10.6上的最新Java更新,Eclipse不再findJava源代码。

我不确定(即不记得了),如果我已经手动下载了源代码,并把它们放在某个地方,或者MacOSX提供了它们,Eclipse自动find它们。

MacOSX有源的地方吗? (请不要假设,我真的很想知道)

如果不是,我可以从哪里得到它们?

安装最新的Java更新之后,您将在下面findsrc.jar

/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home

这就是我在Eclipse中为Java 1.6指出“JRE home”的地方。 一切按预期工作(直到现在:)

据我所知,从“Java for Mac OS X 10.6 Update 3”开始,有3个地方可以在MacOS上安装Java。

  • /系统/库/框架/ Java虚拟机框架/是旧的地方。
  • /系统/图书馆/ Java / JavaVirtualMachines /是新的标准的地方 – 你会发现新的版本。
  • / Library / Java / JavaVirtualMachines适用于'…开发人员预览和第三方JVM'

请注意将苹果提供的标准组件放入/ System / Library和本地扩展到Mac的MacOS规则

缺省安装的JDK现在没有src.jar(虽然它是一个JDK,所以有javac等)。 但是,如果你从苹果安装“Java开发包”,你会得到

/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk

在Contents / Home下有src.jar

所以我认为理智的做法是安装开发包并从IDE中指向它。


更新 – 对于“Java for Mac OS X 10.7 Update 1”,已经安装了开发包的源码可以在这里find

/Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home/src.jar

这是我的经验与src.jar!

  • 如前所述,您必须注册Apple开发者帐户(免费)

  • 去苹果开发者下载 ,然后searchJava。

  • 我select了“Java for OS X 2013-005开发包”
  • 一旦你下载并安装了软件包,你会在/Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home/findsrc.jar

    希望这可以帮助!

它出现在最新的OSX 10.6.7(java 1.6.0_24)中,它们已经清除了所有这些目录…没有src.jar存在于任何地方,大部分指示的目录都丢失了。

烦人到没有尽头

从今天开始,2012年6月1日,用于OSX 10.7的Java Devloper Package不再包含在Home目录下的src.jar。 一些谷歌的结果指出,苹果决定在2010年弃用OSX(由苹果移植)的Java支持。 自今年四月起,Oracle就开始提供Mac OS X JDK。 因此,从Oracle安装JDK。

使用适用于Mac OS X x64的Oracle Java SE 7,src.zip最终位于以下位置,在这种情况下,特定版本是Java SE 7u10

 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/src.zip 

在Mac OS X 10.5.8上,在更新到Java 1.6.0_22并安装2010年10月20日的最新开发人员更新之后,不存在用于Java 6的src.jar

 $ find / System / Library / Java / System / Library / Frameworks -name src.jar
 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/src.jar
 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/src.jar

在NetBeans 6.9.1中导航到源compiled code说所有构造函数和方法的compiled code ,例如java.awt.Point

 public Point() { //compiled code throw new RuntimeException("Compiled Code"); } 

正如本主题中所build议的那样,从以前的更新中提取可用的JAR是可能的。

附录:在NetBeans上,默认平台的位置是~/.netbeans/6.9/config/Services/Platforms/org-netbeans-api-java-Platform/default_platform.xml文件中的一个属性:

 <sources> <resource>jar:file:/Library/Java/JavaVirtualMachines/ 1.6.0_22-b04-307.jdk/Contents/Home/src.jar!/src/ </resource> </sources> 

或者,可以引用文件/Library/Java/Home/src.jar

 <sources> <resource>jar:file:/Library/Java/Home/src.jar!/src/</resource> </sources> 

也许这可以解释它:?

从Mac OS X 10.6 Update 3的Java发行版开始,已由Apple移植的Java运行时和Mac OS X附带的Java运行时已被弃用。 开发人员不应该依赖苹果公司提供的Java运行时间在未来版本的Mac OS X Java for Mac OS X 10.6 Update 3和10.5 Update 8发行说明中

如果您希望Eclipse始终指向当前的默认JDK,并且其源指向:

 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home 

然后Eclipse将parsing符号链接CurrentJDK并将其指向当前的JDK。

叫我老式,但:

find/ Library / Java / JavaVirtualMachines / -name src.jar

为我工作:-)

感谢以前提供答案的人们。 他们一直很有帮助。

作为Mac(10.6.6)的新手,这里是我为MyEclipse做的,也应该在Eclipse上工作。 我没有在断开模式下testing过。 当试图为MyEclipse 8.5添加另一个JRE时,它需要一个“MacOS X VM”,并且不会支持“标准VM”。 我尝试修改eclipse.ini和myeclipse.ini文件,并尝试从命令行启动MyEclipse,但是没有使用特定的JAVA_HOME。

1)下载并安装正确的Java开发包。 进入系统偏好设置 – >软件更新 – >安装的软件。 对于给定的安装,您可能有多个版本,在我的情况下,我同时拥有“Java for Mac OS X 10.6 Update 2”和“Java for Mac OS X 10.6 Update 3” – 所以一定要按名称sorting,或者validation一些另一种方式。 截至今天,下载的文件名是javadeveloper_10.6_10m3261.dmg。

2)在terminal窗口中,我添加了一些OS VM中的指向标准虚拟机中的jar的符号链接。 我稍微修改了安全权限,因此您可能需要也可能不需要使用sudo来创build符号链接。

 cd /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/appledocs.jar sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/docs.jar sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/src.jar 

如果没有什么工作,只需从http://jdk7src.sourceforge.net/下载源代码并添加它们。; 为我工作。