使用MacOSX 10.6上的最新Java更新,Eclipse不再找到Java源代码。
我不确定(即不记得了)如果我过去手动下载了源代码并将它们放在某处或者MacOSX提供了它们并且Eclipse自动找到它们。
MacOSX在某处有源吗? (请不要在这里做任何假设。我真的想知道这一点。)
如果没有,我在哪里可以获得它们?
答案 0 :(得分:43)
据我了解,从“Mac OS X 10.6 Update 3的Java”开始,MacOS上有3个地方可以找到Java。
请注意将Apple提供的标准组件放入/ System / Library和本地扩展的MacOS规则/ Library
默认情况下安装的JDK现在没有src.jar(尽管它是JDK,javac也是如此)。但是如果您安装'Java Developer包'from Apple,您将获得
/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk
在Contents / Home
下有src.jar所以我认为理所当然的事情是安装开发包并从IDE指向它。
更新 - 对于“适用于Mac OS X 10.7 Update 1的Java”,安装了开发人员包后可以在
找到源代码。 /Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home/src.jar
答案 1 :(得分:32)
安装最新的Java更新后,您将在
下找到src.jar/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home
这就是我在Eclipse中为Java 1.6指出“JRE home”的地方。一切都按预期工作(直到现在:)
答案 2 :(得分:7)
这是我对src.jar的经验!。
如前所述,您必须注册Apple 开发者帐户。(免费)
转到Downloads for Apple developers,然后搜索java。
下载并安装软件包后,您将找到src.jar /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home /
希望这有帮助!
答案 3 :(得分:4)
它出现在最新的OSX 10.6.7(java 1.6.0_24)中,它们清理了所有这些目录......没有src.jar存在于任何地方,并且大多数指示的目录都丢失了。
烦恼到无止境......
答案 4 :(得分:3)
截至今天,6/12/12,OSX 10.7的Java Devloper Package,不再在主目录下带有src.jar。一些谷歌的结果指出苹果公司在2010年决定弃用OSX中的Java支持(苹果移植的支持)。自今年4月以来,Oracle开始提供Mac OS X JDK。所以,继续从Oracle安装JDK。
答案 5 :(得分:3)
使用适用于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
答案 6 :(得分:2)
在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
,例如java.awt.Point
:
public Point() {
//compiled code
throw new RuntimeException("Compiled Code");
}
可以从之前的更新中提取可用的JAR,如thread中所述。
附录:在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>
答案 7 :(得分:1)
也许这可以解释它:?
自Java for Mac OS X 10.6 Update 3发布以来,不推荐使用Apple移植的Java运行时和Mac OS X附带的Java运行时。开发人员不应该依赖Apple未来版本的Mac OS X中提供的Apple提供的Java运行时Java for Mac OS X 10.6 Update 3 and 10.5 Update 8 Release Notes
答案 8 :(得分:1)
如果您希望Eclipse始终指向当前的默认JDK,并且其源指向它:
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
然后,Eclipse将解析符号链接CurrentJDK并将其指向当前的JDK。
答案 9 :(得分:1)
叫我老式,但是:
find / Library / Java / JavaVirtualMachines / -name src.jar
为我工作: - )
答案 10 :(得分:0)
感谢以前提供过答案的人们;他们一直很有帮助。
作为Mac的新手(10.6.6),这就是我为MyEclipse所做的,它也适用于Eclipse;我没有在断开模式下测试它。当试图为MyEclipse 8.5添加另一个JRE时,它需要一个“MacOS X VM”,并且不支持“标准VM”。我尝试修改eclipse.ini和myeclipse.ini文件,并尝试从命令行启动MyEclipse,并使用特定的JAVA_HOME设置无效。
1)下载并安装正确的Java Developer Package。转到系统偏好设置 - &gt;软件更新 - &gt;已安装的软件。您可能有给定安装的多个版本,在我的情况下,我有“Java for Mac OS X 10.6 Update 2”和“Java for Mac OS X 10.6 Update 3” - 所以一定要按名称排序,或者验证一些另一种方式。截至今天,下载的文件名为javadeveloper_10.6_10m3261.dmg。
2)在终端窗口中,我添加了一些来自OS VM的符号链接,这些符号链接指向标准VM中的jar。我稍微修改了安全权限,因此您可能需要也可能不需要使用sudo来创建符号链接。
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
答案 11 :(得分:0)
如果没有任何效果,只需从http://jdk7src.sourceforge.net/下载源代码并添加它们。为我工作。
答案 12 :(得分:0)
只需在我的Mac上找到src.zip, /Library/Java/JavaVirtualMachine/adoptopenjdk-11.jdk/Contents/Home/lib/src.zip
添加到“项目结构-SDK-Sourcepath”使我能够在IntelliJ中查看Java源文件...