一尘不染

如何通过Webkit如何在Ubuntu 11.04(Natty Narwhal)上运行Eclipse SWT Browser组件?

linux

我在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=327696http://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或更高版本必须在库加载路径中”?

任何帮助表示赞赏


阅读 287

收藏
2020-06-07

共1个答案

一尘不染

我不在Ubuntu上,但是认为这没什么大不了的。

  1. 检查的版本libwebkit-1.0-2(应为> = 1.2.0)
  2. 如果没有安装此软件包
  3. 检查/usr/lib/usr/lib/jnijava.library.path
  4. 如果您使用SWT 3.6,还请检查是否安装了适当的webkit jni包装器(例如libswt-webkit-gtk-3.6-jniorg.eclipse.swt.browser.UseWebKitGTK系统属性设置为`True

编辑: 要本地化问题的源,请创建简约项目并显示输出

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();

    }
}
2020-06-07