CoreNLP 无法解析类型 com.apple.eawt.Application(在类 OSXAdapter 中)

9bfwbjaz  于 2个月前  发布在  其他
关注(0)|答案(5)|浏览(40)

你好,在OSXAdapter的第16行,编译器提示com.apple.eawt.Application无法解析为类型,尽管根据Eclipse的提示,com.apple.eawt.Application.class位于构建路径上(请参阅附带的屏幕截图)。

d4so4syb

d4so4syb1#

可能的问题是$x^{Application}$包没有被特别导入。如果将此添加到顶部会发生什么?

$x^{

import com.apple.eawt.Application;

}$

5tmbdcev

5tmbdcev3#

也许这与此有关?
https://stackoverflow.com/questions/13978471/com-apple-eawt-what-exactly-i-should-install
根据该页面上的人们的评论,Mac上的Java 9不再有这个包。我对此并不了解,而且我暂时没有计划在Mac上进行Java开发-我现在手头的事情太多了。
@manning 关于替换这个有什么想法吗?

n1bvdmb6

n1bvdmb64#

由于OSXAdapter无关紧要,我暂时将其移除。谢谢。

ibrsph3r

ibrsph3r5#

是的,这是一个待办事项!com.apple.eawt.* 是支持 macOS GUI 下 Java 应用程序的古老 Apple 编写的代码。它已被停止使用,并被(在 JDK 中由 Oracle 支持)java.awt.Desktop 方法取代。我们应该开始使用它,但有一个小问题是新方法是在 Java 8 之后添加的,所以直接迁移将是从支持 Java 8 升级到最低级别的 Java 11。然而,也许内容的数量足够小,我们可以使用反射,然后它将在 Java 8+ 上编译,但 TregexGUI 只能在 Java 11+ 上运行。无论如何,拥有 com.apple.eawt.Application 代码对每个人来说都是无用的,因为除了过时的 macOS(OS X 10.9 或更早版本,即 2014 年或更早)之外,它无法在任何地方运行。
也许我这个星期会尝试修复这个问题,这样我就觉得自己为 2024 年做了一些有用的事情。

相关问题