【问题标题】:Resolving com.apple import error on Windows解决 Windows 上的 com.apple 导入错误
【发布时间】:2019-11-13 14:05:37
【问题描述】:

我正在尝试从 com.apple.eawt(使用 Eclipse)做一些导入,如下所示:

import com.apple.eawt.AboutHandler;
import com.apple.eawt.AppEvent;

但是对于每个语句,我都得到“无法解析导入 com.apple”。 我看过其他similarquestions,似乎人们说这是构建路径错误。我在其中一个问题中尝试了添加这样的可访问性规则的建议:

但即使重新启动 Eclipse,我仍然会收到错误消息。另一件事是我看到的所有问题都是使用MacOS,所以我不知道这是否有区别。

【问题讨论】:

  • 您是否在依赖项(构建路径)中看到 com.apple.eawt 或类似的东西?
  • 我在类路径中没有看到类似的东西,但是系统库在模块路径中。我认为它应该在模块路径中,因为类路径到目前为止只有 jar 文件。
  • 您使用的是 Mac 吗?因为stackoverflow.com/questions/13978471/… 说 JAR 在 Mac JDK 上开箱即用。不知道如何处理其他操作系统的问题
  • 我使用的是 Windows,所以这有点奇怪,因为所有其他问题都与 Mac 有关,所以我不确定它在 Windows 上是否有所不同。也许问题是我使用的是 jdk 9?
  • 是的,也可能是这样。他们已经删除了一些包,所以你必须在 Java 9 中单独安装它们

标签: java eclipse path


【解决方案1】:

com.apple.eawt 包是一个特定于 MacOS 的包,旨在允许 java 应用程序像本机 MacOS 应用程序一样工作。您只能在 MacOS 平台的 JRE/JDK 中找到这个包。你说你是在没有这个包的 Windows 上构建的。

最重要的是,从 Java 9 开始,com.apple.eawt 和其他 Apple 特定包被封装,如果不采取特殊步骤就无法再访问。即使您在 MacOS 上构建,您也必须覆盖封装才能访问包。

JEP 272 描述了一个公共 API,旨在成为 com.apple.eawt 的跨平台替代品。如果您有动力,您或许可以将您的程序移植到新的 API。

进一步阅读:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 2011-11-09
    • 2020-04-19
    • 2019-05-22
    • 1970-01-01
    相关资源
    最近更新 更多