【问题标题】:Desktop browse does not work in java for Ubuntu [duplicate]桌面浏览在 Ubuntu 的 Java 中不起作用 [重复]
【发布时间】:2014-03-22 21:49:22
【问题描述】:
desktop = Desktop.getDesktop().browse(uri);

以上代码在 Ubuntu 操作系统中不起作用。如果我执行此代码,那么我的应用程序会被击中并挂起一段时间,在此期间我无法在 java 控制台中停止正在运行的应用程序。能够关闭该应用程序的唯一方法是FORCE QUIT

【问题讨论】:

  • Desktop.isDesktopSupported() 是否返回 true?
  • 那么:Desktop.isSupported(Action.BROWSE)?
  • Desktop.isDesktopSupported() 返回 True 并且仅使用 Desktop.isSupported(Action.BROWSE) @Puce 存在相同的问题

标签: java ubuntu desktop-application


【解决方案1】:

关于这个问题有几个线程。我在 Ubuntu 16.04 上也有同样的问题。我在这里发布了我正在使用的解决方法:Desktop.getDesktop().browse Hangs

【讨论】:

    【解决方案2】:

    此 API 依赖于 gnome 库,您需要安装 gnome 库才能使用。

    我认为类似sudo apt-get install libgnome 的东西应该可以解决问题(手头没有我的ubuntu 桌面来检查包名,如果这不起作用,请尝试apt-cache search libgnome 查找真实名称)。

    注意:你应该指定你使用的JVM,我假设它是oracle JVM。

    你也可以试试browserlaunch2,不过太老了,我自己也没用过。正如其网站上所写,它旨在在提供的 url 上打开默认浏览器:

    BrowserLauncher2 是 BrowserLauncher 项目的延续,是一个有助于从 Java 应用程序打开浏览器并将浏览器定向到提供的 url 的库。在大多数情况下,打开的浏览器将是用户的默认浏览器。

    BrowserLauncher launcher = new BrowserLauncher();
    launcher.openURLinBrowser("http://www.google.com");
    

    由于 BrowserLauncher2 是开源的,你也可以看看它是如何检测默认浏览器的。

    【讨论】:

    • 是的,我正在使用最新版本的 Oracle JVM Java 8 b-129
    • 你试过安装库吗?它应该可以安装它
    • 是的,它仍然不起作用..还有其他建议
    • 抱歉,我不知道它为什么会挂起。你可以试试 browserlaunch2。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多