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

我在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浏览器运行与WebKitGTK按照SWT常见问题的说明 – http://www.eclipse.org/swt/faq.php#browserwebkitgtk

我无法得到这个工作。 我如何实现“WebKitGTK 1.2.0或更新版本必须在库加载path”?

任何帮助非常感谢

我不在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-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(); } } 

对于在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 

简单地通过软件中心安装“hotot”(Twitter)应用程序,拖动WebKit,为我做了窍门。 – “sudo apt-get install -y libwebkitgtk-1.0-0”,或者根据https://help.ubuntu.com/community/WebKit从源代码构建,也可能工作。

对于Natty,看看这个页面: http : //www.maplef.net/blog/archives/ubuntu-upgrade-eclipse3-5-to-3-6.html (忽略japanses /中文的东西,只要按照代码达到香格里拉)