11

我正在使用 Max OS X Mountain Lion,java -version 返回“1.6.0_37”。但我无法使用导入的 com.apple.eawt.* 类编译项目。

我必须安装什么才能在我的系统上安装 Apple Java 扩展?

任何帮助,将不胜感激!

更新

我从编译器收到以下错误:

java: package com.apple.eawt does not exist

更新 2

XCode 版本 4.5.2 已安装

更新 3

我的问题的原因是在类路径中错过了 ui.jar。感谢@Ian Roberts

4

4 回答 4

6

无需下载 JAR 或安装任何额外内容,这些类是 Mac OS X 上 JDK 的一部分。在 Apple Java 6 JDK 中,它们位于Contents/Classes/ui.jarJDK 捆绑包(例如/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk)下,在 Oracle Java 7 中,它们lib/rt.jar位于JRE 主目录(/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/Library/Java/JavaVirtualMachines/jdk1.7.0*.jdk/Contents/Home/jre)。

于 2012-12-20T21:37:07.243 回答
5

Java 9 及更高版本的解决方案

在 JDK 9 中,内部 API(例如 Mac OS X com.apple.eawt 包中的 API)将不再可访问。

见: http: //openjdk.java.net/jeps/272

com.apple.eawt已被替换。
此处介绍了一些功能:https ://docs.oracle.com/javase/9​​/docs/api/java/awt/Taskbar.html

在 mac os 中设置停靠图标的示例实现可以在这里找到:
https ://stackoverflow.com/a/56924202/5276779

于 2019-07-07T17:05:00.133 回答
0

以防万一您仍在寻找并且其他人点击了此功能,MacOS GestureUtilities 仍可用于该平台。查看Java 9 中 GestureUtilities 的替代方法

于 2022-02-05T20:18:04.510 回答
-1

就像任何其他外部库一样,您必须将包含这些类的 JAR 添加到您的类路径中。仅仅因为您在 Mac 上运行并不意味着现有的 Java JDK 是“扩展的”——否则,它就不会真正独立于平台。

于 2012-12-20T21:21:09.047 回答