SWT浏览器无句柄错误

16

我写了一个简单的程序。只有一个CTabFolder和一个继承自CTabItem的WelcomTab。我想用一个渲染我的html的浏览器来填充我的WelcomeTab。在WelcomeTab的init()方法中,我创建了一个Browser,但当程序要构建它时,我收到了这个错误。

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.browser.Mozilla.initMozilla(Unknown Source)
at org.eclipse.swt.browser.Mozilla.create(Unknown Source)
at org.eclipse.swt.browser.Browser.<init>(Unknown Source)
at org.hekmatof.Hbook.UI.WelcomeTab.init(WelcomeTab.java:55)
at org.hekmatof.Hbook.UI.WelcomeTab.<init>(WelcomeTab.java:30)

另外,我在基于Arch-Linux的KDE上使用Eclipse 3.7。尽管我在各处搜索这个错误,但是它只提到线程受限制的处理方式。但是这是一个没有字体或图像要处理的简单程序。我认为这可能是从操作系统获得句柄的问题。

5个回答

14

安装libwebkitgtk

sudo apt-get install libwebkitgtk-1.0-0

重新启动应用程序。这应该可以解决问题。


如果您在64位Linux安装上使用32位Eclipse(带有32位JRE),则需要执行以下操作:sudo apt-get install libwebkitgtk-1.0-0:i386。没有:i386后缀,它将安装libwebkitgtk的64位库,而32位JRE无法加载。 - slowhand
请使用Debian为我工作。 - ramiromd
在Ubuntu 20.04中,安装命令为sudo apt install libwebkit2gtk-4.0-37 - Alexander Vasiljev

9

我将我的 MOZILLA_FIVE_HOME 环境变量设置为 /usr/lib/xulrunner-6.0,然后出现了这个新错误:No more handles [Could not detect registered XULRunner to use]。我使用的是 Firefox 6.0,并且我单独安装了 xulrunner。 - Isa Hekmat
@Sorceror,我在升级到Ubuntu 11.10 Oneiric后遇到了这个错误。我尝试使用“export MOZILLA_FIVE_HOME=/usr/lib/firefox-7.0.1”,但是没有用! :-( - TrinitronX
1
如果我没有 Firefox,而是使用 Chromium 呢? - Coyote21
你也遇到了Chromium的同样问题吗?这很奇怪,因为Chromium根本不使用XUL runner。 - Sorceror

1
这个问题显然是当eclipse尝试使用内部浏览器或外部浏览器配置错误时出现的(内部浏览器可能使用libwebkit-1.0来渲染内容)。
打开eclipse,进入"preferences",如果出现错误,请忽略。在搜索框中输入"web browser",然后选择"web browser"选项卡,添加您喜欢的浏览器(在我的情况下是chrome)。
如果您使用Linux,可以使用"which [browser-name]"命令获取路径。
在我的情况下,这很有帮助 - 祝你好运。

1
请看这篇文章: 如何在Linux上为Aptana设置内部浏览器 基本上,您需要安装XULRunner然后编辑eclipse.ini文件。
安装xulrunner后,在eclipse.ini中添加以下行即可解决问题。

-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/eclipse/xulrunner/


0

当XUL Runner版本过高且与SWT浏览器不兼容时,就会出现这个问题。这与系统浏览器无关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接