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

Phi*_*pus 9 eclipse linux gtk swt

我在Eclipse RCP应用程序中使用SWT Browser控件.在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 FAQ上的说明运行WebKitGTK - http://www.eclipse.org/swt/faq.php#browserwebkitgtk

我根本无法工作.我如何实现"WebKitGTK 1.2.0或更新版必须在库加载路径中"?

任何帮助非常感谢

Chr*_*ens 16

对于在Ubuntu 12.04上运行的Eclipse Juno SR1(4.2 SR1),以下内容适用于我:

  1. 安装libwebkit包: sudo apt-get install libwebkitgtk-3.0-0
  2. 安装libwebkit jni包装器: sudo apt-get install libswt-webkit-gtk-3-jni
  3. 设置DefaultType和UseWebKitGTK属性(我通过将以下内容添加到我的eclipse.ini文件中来完成):

     -Dorg.eclipse.swt.browser.DefaultType=webkit
     -Dorg.eclipse.swt.browser.UseWebKitGTK=true
    
    Run Code Online (Sandbox Code Playgroud)

  • 使用Eclipse Neon在16.04LTS上安装`libwebkitgtk-3.0-0`就足够了. (2认同)

bar*_*ddu 8

我不是在Ubuntu,但认为这并不重要.

  1. 检查版本libwebkit-1.0-2(应该> = 1.2.0)
  2. 如果没有,请安装此软件包
  3. 检查/usr/lib/usr/lib/jni进入java.library.path
  4. 如果使用SWT 3.6,还要检查是否安装了适当的webkit jni包装器(例如libswt-webkit-gtk-3.6-jni,org.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();

    }
}
Run Code Online (Sandbox Code Playgroud)


vor*_*ger 5

只需通过软件中心安装"hotot"(Twitter)应用程序,它就会拖动WebKit,为我做了诀窍.- 根据https://help.ubuntu.com/community/WebKit,"sudo apt-get install -y libwebkitgtk-1.0-0"或源代码构建可能也会起作用.