2012-12-20 48 views
7

我正在使用Max OS X Mountain Lion,java -version返回“1.6.0_37”。但是我不能用导入的com.apple.eawt。*类来编译项目。com.apple.eawt - 我应该安装什么

我必须在我的系统上安装Apple Java Extensions吗?

任何帮助,将不胜感激!

更新

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

java: package com.apple.eawt does not exist 

更新-2

的XCode版本4.5.2安装

更新 - 3

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

+0

如果你澄清了这个问题,这将有所帮助。你需要com.apple.eawt类,还是你问是否需要它们? –

+0

我相信他想使用这些类,但是当他试图导入它们时不能编译。我可能是错的,tho ... – jahroy

+0

@jahroy是正确的。我无法找到如何建立一个项目。 –

回答

4

没有JAR下载或任何额外安装的类是JDK在Mac OS X的一部分。在苹果公司的Java,他们住在Contents/Classes/ui.jar的JDK软件包(如/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk)下,在Oracle的JDK 6 Java 7,它们位于JRE主目录(/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/Library/Java/JavaVirtualMachines/jdk1.7.0*.jdk/Contents/Home/jre)下的lib/rt.jar中。

+0

谢谢!在classpath中错过了Ui.jar。 –

+1

如何将此添加到maven编译器插件?我是新来的maven你能帮我吗。 – Mubasher

+0

@Mubasher如果你在Mac上编译,它应该是开箱即用的,如果你不在Mac上,那么你需要编写你的代码来通过反射进行必要的调用([example](http:// sourceforge.net/p/gate/code/HEAD/tree/gate/tags/release-8.0/src/main/gate/gui/MainFrame.java#l1721))或者针对一个存根jar编译相关的方法,例如http://ymasory.github.io/OrangeExtensions/ –

0

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

+0

能否请您提供一个链接或至少一个谷歌搜索请求来获得一个URI来下载这样的JAR?我找不到它。 –

+0

实际上并非如此。苹果为Mac提供的JDK确实有一些内置的扩展。大多数苹果的扩展都关心如何让GUI的工作更像本机Mac应用程序(如com.apple.eawt和com.apple.laf)或者与QuickTime(quicktime。*) –

+0

如何为gradle执行此操作?对'com.apple:AppleJavaExtensions:1.4'的依赖似乎不起作用 – Jochen