我在使用SWT浏览器组件时遇到了一些麻烦。 我正在运行Ubuntu 11.04 AMD64和Eclipse 3.7,以及来自Sun的Java SE 1.6
我的问题是我的浏览器不会初始化。当我用SWT.NONE标志创建它时,我得到错误
Exception in thread "main" org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3346 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file)
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:324)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
at browser.Main.createGUI(Main.java:40)
at browser.Main.main(Main.java:21)
Caused by: java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3346 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:309)
... 3 more
然后当我尝试使用SWT.MOZILLA标志时,我得到了
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Could not detect registered XULRunner to use]
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:280)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
at browser.Main.createGUI(Main.java:40)
at browser.Main.main(Main.java:21)
我怀疑这部分是因为我使用的是XULRunner2,但我更喜欢使用WebKit,它在Eclipse 3.7中(这就是我升级的原因),在使用SWT.NONE时应该是默认的。
如果你们中的任何人遇到过这个问题和/或之前已经解决了这个问题,如果你能帮助我,我将不胜感激。
谢谢!
答案 0 :(得分:2)
根据SWT FAQ,您可能不支持XULRunner2(尝试旧版本)。您还应该检查是否已为WebKit浏览器核心安装了WebKitGTK + 1.2.x.
修改强>
根据您的评论进行编辑。因此,对于this FAQ,您应该在库加载路径中使用WebKitGTK 1.2.0或更高版本,因此请检查是否有..并使用SWT.NONE创建浏览器..
您从SWT获得的错误消息表示您没有应该使用的路径库
java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3346 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file