繁体   English   中英

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

[英]Java/Eclipse on MacOSX: where is the src.zip?

随着 MacOSX 10.6 上最新的 Java 更新,Eclipse 不再找到 Java 源代码。

我不太确定(即不再记得了)是我过去手动下载了源代码并将它们放在某处,还是 MacOSX 提供了它们并且 Eclipse 自动找到了它们。

MacOSX 在某处有源吗? (请不要在这里做任何假设。我真的很想知道。)

如果没有,我在哪里可以得到它们?

据我了解,从“Java for Mac OS X 10.6 Update 3”开始,您可以在 3 个地方找到 Java 安装在 MacOS 上。

  • /System/Library/Frameworks/JavaVM.framework/ 是旧地方。
  • /System/Library/Java/JavaVirtualMachines/ 是新的标准位置 - 您会在那里找到新版本。
  • /Library/Java/JavaVirtualMachines 用于“...开发者预览和 3rd 方 JVM”

请注意将 Apple 提供的标准组件放入 /System/Library 并将本地扩展放入 /Library 的 MacOS 规则

默认安装的 JDK 现在没有 src.jar(虽然它是 JDK,所以有 javac 等)。 但是如果你从 Apple安装“Java Developer package”,你会得到

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

在 Contents/Home 下有 src.jar

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


更新 - 对于“Java for Mac OS X 10.7 Update 1”,安装开发包后,可以在以下位置找到源代码

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

安装最新的 Java 更新后,您将在下面找到 src.jar

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

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

这是我使用 src.jar 的经验!。

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

  • 转到Apple 开发人员的下载,然后搜索 java。

  • 我选择了“Java for OS X 2013-005 Developer Package”
  • 下载并安装软件包后,您将在 /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home/ 找到 src.jar

    希望这有帮助!

它出现在最新的 OSX 10.6.7 (java 1.6.0_24) 中,他们已经清理了所有这些目录......任何地方都没有 src.jar 并且大多数指示的目录都丢失了。

烦到没完...

截至今天,2012 年 6 月 1 日,用于 OSX 10.7 的 Java Devloper 包不再随附在 Home 目录下的 src.jar。 谷歌的一些结果表明,苹果在 2010 年决定弃用 OSX 中的 Java 支持(苹果移植的那个)。 Oracle 从今年 4 月开始提供 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

叫我老式,但是:

查找 /Library/Java/JavaVirtualMachines/ -name src.jar

为我工作:-)

在 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");
}

可以从以前的更新中提取可用的 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>

也许这可以解释它:?

从 Java for Mac OS X 10.6 Update 3 的发布开始,Apple 移植并随 Mac OS X 一起提供的 Java 运行时已被弃用。 开发人员不应依赖 Apple 提供的 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 将解析符号链接 CurrentJDK 并将其指向当前 JDK。

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

感谢之前提供答案的人; 他们很有帮助。

作为 Mac (10.6.6) 的新手,这是我为 MyEclipse 所做的,它也适用于 Eclipse; 我没有在断开连接的模式下测试过这个。 当尝试为 MyEclipse 8.5 添加另一个 JRE 时,它需要一个“MacOS X VM”,并且不支持“标准 VM”。 我尝试修改 eclipse.ini 和 myeclipse.ini 文件,还尝试使用特定的 JAVA_HOME 集从命令行启动 MyEclipse,但无济于事。

1) 下载并安装正确的 Java Developer Package。 转到系统偏好设置 -> 软件更新 -> 已安装的软件。 您可能有多个版本的给定安装,就我而言,我有“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

刚刚在我的 Mac 上的 /Library/Java/JavaVirtualMachine/adoptopenjdk-11.jdk/Contents/Home/lib/src.zip 找到了 src.zip

添加到“项目结构 - SDKs - Sourcepath”允许我在 IntelliJ 中查看 java 源文件...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM