2

我正在 OS X Lion 下开发 Java 应用程序,我想在 Java 7 中使用 Apple 扩展。

我的问题很简单:

我将 Apple Extensiosn 放入我的 Classpath 中,它们位于:/System/Library/Java 但我在该目录中找不到任何 JavaDocs。

这些扩展在哪里解释?有可用的 JavaDoc 吗?

刚刚找到该站点: http: //developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/ResolvedIssues/ResolvedIssues.html#//apple_ref/doc/uid/TP40010380-CH3-DontLinkElementID_12但不是真的有帮助。

再说一遍,我不是在 JavaDoc 中搜索 JDK 本身,而是在从这些 Java-Apple-Extensions 中搜索 JavaDoc。

编辑:例如指针类的 JavaDoc

4

1 回答 1

2

不幸的是,据我所知,Apple Java Extensions 的 javadoc 似乎没有包含在 OpenJDK 7 的下载中。有 3 种方法(AFAIK)可以解决这个问题。

  1. 下载 JDK 的源代码,然后自己制作 javadoc:

    这是最难的方法,但也是最彻底的。您必须安装hg(mercurial) 才能获取 OpenJDK 的源代码。如果尚未安装,您可以使用 homebrewbrew install hg或 MacPorts安装它sudo port install hg

    安装后hg,可以下载JDK的源代码:

    对于 Java 7:

    hg clone http://hg.openjdk.java.net/jdk7u/jdk7u/jdk jdk
    

    对于 Java 8:

    hg clone http://hg.openjdk.java.net/jdk8/jdk8/jdk jdk
    

    现在您已经下载了源代码,您只需要制作 javadoc。

    要为 Apple Java 扩展构建 javadoc:

    javadoc -d doc $(find jdk/src/macosx/classes/apple jdk/src/macosx/classes/com/apple -name *.java)
    

    为整个 JDK(包括 Apple Java 扩展)构建 javadoc:

    javadoc -d doc $(find jdk/src/macosx/classes/ -name *.java)
    

    如果您使用 Java 8 构建 javadoc,则必须提供-Xdoclint:none一个附加参数才能javadoc使其正常工作。

    doc其中任何一个都会将所有文档放在当前目录中调用的文件夹中。之后您可以删除该jdk文件夹(这是放置 JDK 源的位置)。

  2. 使用旧版本(来自 Apple 的 java 6)。

    Apple 下载的 java 6(仅限开发人员 JDK)包括 Apple Java Extensions 的 javadocs。AFAIK 从那时起他们就没有改变过,所以它是否旧并不重要(尽管它会有不同的 javadoc 风格)。目前,Apple 的 java 开发人员包可从https://developer.apple.com/downloads/index.action?q=java获得,但它们developer.apple.com经常更换,因此该链接可能很快就会断开。

    下载并安装后,它将在/Library/Java/JavaVirtualMachines/名为1.6.0_something. 在这个(右键单击 → 显示包内容)中,在Contents/Home, is 中appledocs.jar,其中包含您要查找的 javadoc。

  3. 用我的。

    我使用与第 1 节中描述的完全相同的方法为 Apple Java Extensions 编译了一个 javadoc。我不会让它保持最新状态,但是 AFAIK 他们还没有更新 Apple Java Extensions,所以没关系。

    • Java 6(取自 Apple Java 6)
    • Java 7(从 OpenJDK 7 构建)
    • Java 8(从 OpenJDK 8 构建)
于 2014-10-14T04:54:46.920 回答