我在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上,但认为这并不重要。
libwebkit-1.0-2
的版本(应该是> = 1.2.0) /usr/lib
和/usr/lib/jni
是否在java.library.path
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(); } }
对于在Ubuntu 12.04上运行的Eclipse Juno SR1(4.2 SR1),以下工作适用于我:
sudo apt-get install libwebkitgtk-3.0-0
sudo apt-get install libswt-webkit-gtk-3-jni
设置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 /中文的东西,只要按照代码达到香格里拉)