2014-02-21 29 views
5
desktop = Desktop.getDesktop().browse(uri); 

上述代碼在Ubuntu操作系統中不起作用。如果我執行這段代碼,那麼我的應用程序就會受到攻擊並掛起一段時間,在那段時間內,我無法停止正在運行的應用程序在java控制檯中。能夠關閉該應用程序的唯一方法是通過FORCE QUITUbuntu的桌面瀏覽功能在java中不起作用

+0

Desktop.isDesktopSupported()返回true嗎? – Puce

+0

那又如何:Desktop.isSupported(Action.BROWSE)? – Puce

+0

Desktop.isDesktopSupported()正在使用Desktop.isSupported(Action.BROWSE)@Puce – GowthamIyer

回答

1

這個API依賴於gnome庫,你需要安裝gnome庫才能工作。 (我的Ubuntu桌面沒有檢查包名,試試apt-cache search libgnome找到真實的名字,如果這不起作用的話)。

注意:您應該指定您正在使用的是哪個JVM,我認爲它是Oracle JVM。

你也可以試一試browserlaunch2,但它已經很老了,我從來沒有用過它。由於在它的網站是指打開所提供的URL的默認瀏覽器寫:

BrowserLauncher2,一個在BrowserLauncher項目的延續,是促進從Java應用程序中打開一個瀏覽器,將瀏覽器定向到庫一個提供的網址。在大多數情況下,瀏覽器將會成爲用戶的默認瀏覽器。

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

由於BrowserLauncher2是開源的,你也可以看看它是如何檢測的默認瀏覽器。

+0

返回True和相同的問題是使用最新版本的Oracle JVM Java 8 b-129 – GowthamIyer

+0

您是否嘗試安裝lib?它應該與它安裝 –

+0

是的仍然它不工作..有沒有其他建議 – GowthamIyer