我在使用SWT Browser组件时遇到了一些麻烦.
我正在使用Sun的
Java SE 1.6运行Ubuntu 11.04 AMD64和
Eclipse 3.7
我的问题是我的浏览器不会初始化.当我用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时应该是默认的.
如果你们中的任何人遇到过这个问题和/或之前已经解决了这个问题,如果你能帮助我,我将不胜感激.
谢谢!
最佳答案 根据
SWT FAQ,您可能不支持XULRunner2(尝试旧版本).您还应该检查是否已为WebKit浏览器核心安装了WebKitGTK 1.2.x.
编辑
根据您的评论进行编辑.因此,对于this FAQ,您应该在库加载路径中使用WebKitGTK 1.2.0或更高版本,因此请检查是否有..并使用SWT.NONE创建浏览器..
您从SWT获得的错误消息表示您没有应该在路径上的库
java.lang.UnsatisfiedLinkError:swt.library.path,java.library.path或jar文件中没有swt-mozilla-gtk-3346或swt-mozilla-gtk