java.awt.Desktop.getDesktop()不支持的平台

从Java 6开始,有一个类java.awt.Desktop 。 有一些很好的方法,但所有平台都不支持该类。 方法java.awt.Desktop.getDesktop()抛出一个

java.lang.UnsupportedOperationException:当前平台不支持Desktop API

在某些平台上。 或者方法java.awt.Desktop.isDesktopSupported()返回false。

我知道它适用于Windows XP,Windows 2003和Windows Vista。 问题是它不支持哪个平台?

引用:

Desktop API的开发仅支持Windows和Gnome

来自http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486393

然而,这篇文章说甚至Gnome支持在Fedora上都存在缺陷。

也适用于OS X.

无论是在gnome还是fvwm,都无法在当前的Debian(squeeze)中工作。 我没有尝试过kde。

此错误会阻止启动最新版本的limewire。 堆栈输出是:

致命错误!

com.limegroup.gnutella.gui.Initializer的java.lang.ExceptionInInitializerError $ 6.run(未知来源)

…….

引发者:java.lang.UnsupportedOperationException:当前平台不支持系统托盘。 at java.awt.SystemTray.getSystemTray(SystemTray.java:151)

好吧,它不支持Ubuntu 12.04,它给出的错误是这样的。

 java.lang.UnsupportedOperationException: The system tray is not supported on the current platform. 

要在ubuntu上解决它,请运行下一个命令:

 apt-get install libgnome2-0 

在arch linux上,我不得不安装AUR libgnome包