问题
I'm using Max OS X Mountain Lion, java -version returns "1.6.0_37". But I cannot compile project with com.apple.eawt.* classes imported.
What I have to install to have Apple Java Extensions on my system?
Any help would be appreciated!
Update:
I receive following error from compiler:
java: package com.apple.eawt does not exist
Update-2:
XCode version 4.5.2 is installed
Update-3:
The reason of my problem was missed ui.jar in classpath. Thanks to @Ian Roberts
回答1:
There is no JAR to download or anything extra to install, the classes are part of the JDK on Mac OS X. In Apple Java 6 JDKs they live in Contents/Classes/ui.jar
under the JDK bundle (e.g. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
or /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk
), on Oracle Java 7 they are in lib/rt.jar
under the JRE home directory (/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
or /Library/Java/JavaVirtualMachines/jdk1.7.0*.jdk/Contents/Home/jre
).
回答2:
Just like any other external library, you have to add the JAR containing those classes to your classpath. Just because you are running on a Mac does not mean the stock Java JDK is 'extended' -- otherwise, it would not be truly platform-independent.
回答3:
Solution for Java 9 and later
In JDK 9, internal APIs such as those in the Mac OS X com.apple.eawt package will no longer be accessible.
see: http://openjdk.java.net/jeps/272 (later methods have been moved to java.awt.Taskbar)
com.apple.eawt
has been replaced.
Some of the features are covered here: https://docs.oracle.com/javase/9/docs/api/java/awt/Taskbar.html
An example implementation of setting the dock icon in mac os can be found here:
https://stackoverflow.com/a/56924202/5276779
来源:https://stackoverflow.com/questions/13978471/com-apple-eawt-what-exactly-i-should-install