我正在使用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