【问题标题】:Can Java 7 use Apple Java Extensions?Java 7 可以使用 Apple Java 扩展吗?
【发布时间】:2013-02-25 01:48:02
【问题描述】:

为了帮助 Java 应用程序在 Mac OS X 上运行时看起来更像原生应用程序,Apple 创建了 Apple Java Extensions 以使 Java 应用程序的行为更像 Mac OS X。这些允许处理诸如处理“关于”菜单并支持拖放到应用程序图标上。

但是,我找不到任何信息表明这些扩展是否包含在 Java 7 中,甚至是否可用于 Java 7。据我了解,Apple 将他们的 OS X 实现合并到 OpenJDK 中,但我不确定是否这些扩展随之而来。我确实看到Mac OS X port of OpenJDK 的目标是“包含一个完整的、基于 Cocoa 的原生 UI 工具包”,但我找不到太多关于它的含义。在网上搜索并没有证明很有成效,我不知道它们是否与 Java 7 兼容甚至被包含在内。

所以我想我有三个问题:

  • 运行 Java 7 的 Mac 能否使用 Apple Java 扩展?
  • 它们是否包含在 Java 7 中,如果没有,我可以下载它们以捆绑到我的应用程序中吗?
  • 这些与 Java 7 兼容的扩展是否有替代品?

【问题讨论】:

    标签: macos java-7


    【解决方案1】:

    运行 Java 7 的 Mac 能否使用 Apple Java 扩展?

    是的。它们包含在 Oracle 发行版和 OpenJDK 中。请参阅下面的第二个答案。

    我无法保证完整的 API,因为我只需要一个子集来支持应用图标和应用框架上的拖放行为。我可以确认,尽管这与 OpenJDK 7 的预期一样。在分发方面也没有问题,因为该应用程序在 Mac App Store 上出售。

    它们是否包含在 Java 7 中,如果没有,我可以下载它们以捆绑到我的应用程序中吗?

    它们包含在 OpenJDK 7 中,您可以在 /src/macosx/classes/com/apple 中找到源代码,并得到 Oracle 的支持,正如 @987654321 上可读的消息和错误修复所暗示的那样@。

    它们也包含在 Oracle 发行版中,解压 rt.jar 以查看它们。

    您无需下载任何内容,只需在编辑器中开始使用它们即可:

    这些与 Java 7 兼容的扩展是否有替代品?

    我不知道,但我怀疑您是否需要替代方案。

    【讨论】:

    • 感谢您的回答!我很高兴听到它有效,感谢您分享使用它的经验!
    • 在 Windows 上 Java8 的当前 JDK 发行版中并非如此。
    • 对我来说 java 没有找到 com.apple.eawt。是否有某种开关可以启用它?如果我将 rt.jar 复制到其他位置并包含它,那么它就可以工作。
    猜你喜欢
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2020-06-15
    相关资源
    最近更新 更多