我在Eclipse RCP应用程序中使用SWT浏览器控件。在Linux Ubuntu 10.10上,这取决于安装了xulrunner-1.9.2的用户。这很好。
但是,在Ubuntu 11.04上,我发现它默认随xulrunner-2.0一起提供。SWT浏览器不支持此功能。请参阅http://bugs.eclipse.org/bugs/show_bug.cgi?id=327696和http://bugs.eclipse.org/bugs/process_bug.cgi
因此,我不希望用户安装xulrunner-1.9.2,而是要按照SWT常见问题解答上的说明让SWT浏览器与WebKitGTK一起运行-http: //www.eclipse.org/swt/faq.php#browserwebkitgtk
我根本无法使它正常工作。如何满足“ WebKitGTK 1.2.0或更高版本必须在库加载路径中”?
任何帮助表示赞赏
我不在Ubuntu上,但是认为这没什么大不了的。
libwebkit-1.0-2
/usr/lib
/usr/lib/jni
java.library.path
libswt-webkit-gtk-3.6-jni
org.eclipse.swt.browser.UseWebKitGTK
编辑: 要本地化问题的源,请创建简约项目并显示输出
package foo; import org.eclipse.swt.SWT; import org.eclipse.swt.SWTError; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class BrowserTest { public static void main(String[] args) { System.out.println(System.getProperty("java.library.path")); System.out.println(System.getProperty("org.eclipse.swt.browser.UseWebKitGTK")); Display display = new Display(); Shell shell = new Shell(display); try { Browser browser = new Browser(shell, SWT.NONE); browser.setSize(shell.getSize()); browser.setUrl("google.com"); } catch (SWTError e) { e.printStackTrace(); } shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } }