我正在使用Eclipse
開發Java桌面應用程序。 Desktop
類有一個有用的方法,稱爲browse()
,它在系統的默認瀏覽器中打開一個URI。我的問題是此功能在Eclipse
中不再有效,但在Eclipse
例如當啓動一個包含代碼的可執行文件Jar
時。在默認瀏覽器例外情況下打開
這裏是一個簡短的編譯例子:
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class OpenExample
{
public static void main(String[] arguments) throws URISyntaxException, IOException
{
Desktop.getDesktop().browse(new URI("https://www.google.com/"));
}
}
我收到以下異常:
Exception in thread "main" java.io.IOException: Failed to open https://www.google.com/. Error message: A device attached to the system is not functioning.
at sun.awt.windows.WDesktopPeer.ShellExecute(Unknown Source)
at sun.awt.windows.WDesktopPeer.browse(Unknown Source)
at java.awt.Desktop.browse(Unknown Source)
at OpenExample.main(OpenExample.java:10)
可能是什麼問題呢?很顯然Java
代碼是正確的,因爲它以前的工作,必須在Eclipse
或甚至Windows
中被破壞。
因爲我運行'Windows',所以支持桌面,所以這段代碼和我在最初的文章中做的一樣。測試還驗證了這一點:在Desktop.getDesktop()的異常。browse(new URI(url));' – BullyWiiPlaza