如何在 Raspberry-Pi 上解决 "java.lang.Exception: No web browser found"
How to solve "java.lang.Exception: No web browser found" on Raspberry-Pi
在 Raspberry Pi OS 上,我尝试使用 JavaFX 安装 Java 的多个版本,以便 运行 [rbox.jar| https://www.radiosparx.com/sslbypass/str/app/rbox.jar]。我找到的最好的 Java 版本是来自 https://bell-sw.com/ 的那个,但即使有了它我也无法让它工作。
在大多数情况下,我收到以下错误:
pi@raspberrypi:~/rbox $ java -jar rbox.jar
java.lang.Exception: No web browser found
at javafx.graphics/com.sun.javafx.application.HostServicesDelegate$StandaloneHostService.showDocument(HostServicesDelegate.java:146)
at javafx.graphics/javafx.application.HostServices.showDocument(HostServices.java:115)
at anywheresoftware.b4j.objects.JFX.ShowExternalDocument(JFX.java:138)
at com.radiosparx.rbox.main$ResumableSub_AppStart.resume(main.java:150)
at com.radiosparx.rbox.main._appstart(main.java:83)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at com.radiosparx.rbox.main.start(main.java:37)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:834
我有 Chromium 和 Dillo
pi@raspberrypi:~ $ sudo update-alternatives --config x-www-browser
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/chromium-browser 90 auto mode
1 /usr/bin/chromium-browser 90 manual mode
2 /usr/bin/dillo 50 manual mode
如有任何帮助,我们将不胜感激。
错误信息很清楚,不是吗?该软件试图通过 HostServices.showDocument
方法显示文档(可能是一些 HTML 帮助文本或类似内容),但无法在 Raspi 上找到浏览器。那么问题来了,您的 Raspis 上是否安装了浏览器?如果没有,那就去做吧。不然看HostServicesDelegate$StandaloneHostService.showDocument
里面的代码,看能不能通过它的lookup方法定位到
在 Raspberry Pi OS 上,我尝试使用 JavaFX 安装 Java 的多个版本,以便 运行 [rbox.jar| https://www.radiosparx.com/sslbypass/str/app/rbox.jar]。我找到的最好的 Java 版本是来自 https://bell-sw.com/ 的那个,但即使有了它我也无法让它工作。
在大多数情况下,我收到以下错误:
pi@raspberrypi:~/rbox $ java -jar rbox.jar
java.lang.Exception: No web browser found
at javafx.graphics/com.sun.javafx.application.HostServicesDelegate$StandaloneHostService.showDocument(HostServicesDelegate.java:146)
at javafx.graphics/javafx.application.HostServices.showDocument(HostServices.java:115)
at anywheresoftware.b4j.objects.JFX.ShowExternalDocument(JFX.java:138)
at com.radiosparx.rbox.main$ResumableSub_AppStart.resume(main.java:150)
at com.radiosparx.rbox.main._appstart(main.java:83)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at com.radiosparx.rbox.main.start(main.java:37)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:834
我有 Chromium 和 Dillo
pi@raspberrypi:~ $ sudo update-alternatives --config x-www-browser
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/chromium-browser 90 auto mode
1 /usr/bin/chromium-browser 90 manual mode
2 /usr/bin/dillo 50 manual mode
如有任何帮助,我们将不胜感激。
错误信息很清楚,不是吗?该软件试图通过 HostServices.showDocument
方法显示文档(可能是一些 HTML 帮助文本或类似内容),但无法在 Raspi 上找到浏览器。那么问题来了,您的 Raspis 上是否安装了浏览器?如果没有,那就去做吧。不然看HostServicesDelegate$StandaloneHostService.showDocument
里面的代码,看能不能通过它的lookup方法定位到