使用Desktop.open(...)

时间:2017-06-05 14:36:02

标签: java eclipse-rcp ubuntu-16.04

我们最近为我们的一个Eclipse RCP应用程序进行了跨平台构建。在Ubuntu 16.04上,执行以下代码时:

Desktop.getDesktop().open(somePath.toFile())

它在gdk_display_open中与SIGABRT崩溃。我使用了Oracle的JVM和OpenJDK(JRE 8)来达到同样的效果。

我想,好吧,让我先尝试一下,如果不支持就禁用该功能:

public static boolean isSupported()
{
    return Desktop.isDesktopSupported() &&
        Desktop.getDesktop().isSupported(Desktop.Action.OPEN);
}

以完全相同的方式崩溃。我似乎无法确定桌面是否通过代码得到支持而不会导致崩溃。我使用的代码在Windows甚至Mac中都可以正常工作。为什么会发生这种情况并且有解决方法吗?请记住,这不是我可以捕获的普通旧Java异常,这会在JVM本身崩溃。

0 个答案:

没有答案