2011-04-28 65 views
9

我在Eclipse RCP应用程序中使用SWT Browser控件。在Linux Ubuntu 10.10上,这取决于用户安装了xulrunner-1.9.2。这工作正常。如何使用Webkit在Eclipse 11.04(Natty Narwhal)上运行Eclipse SWT浏览器组件?

但是,在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浏览器WebKitGTK按在SWT FAQ指示运行 - http://www.eclipse.org/swt/faq.php#browserwebkitgtk

我不能得到这个一起工作。我该如何实现“WebKitGTK 1.2.0或更新版本必须在库加载路径中”?

非常感谢任何帮助

回答

7

我不在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系统属性设置为“真”)

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

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

    } 
} 
+0

感谢您花时间回答。不幸的是,即使我满足了所有条件,它在Eclipse 3.6或3.7上都不起作用。我想知道是否有什么不同的使用Ubuntu 11.04(纳蒂尔纳瓦尔) – Phillipus 2011-04-28 16:03:12

+0

@Phillipus打赌你错过了什么,请参阅编辑。然而,我可能需要一些时间来回应。 – 2011-04-29 14:46:45

+0

嗨,再次感谢。我添加了一行: System.setProperty(“org.eclipse.swt.browser。使用WebKitGTK“,”true“); 输出java.library.path为: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/ usr/lib/jvm/java -6-的openjdk/JRE/LIB/I386:/ usr/lib中/ JVM/JAVA -6-的openjdk/JRE /../ LIB/I386:/ usr/lib中/ JVM/JAVA -6-的openjdk/JRE/LIB/I386 /客户端:/ usr/lib中/ JVM/JAVA-6的OpenJDK/JRE/lib目录/ I386 ::在/ usr/JAVA /包装/ lib中/ I386:/ usr/lib中/ I386-Linux的GNU/JNI:/ lib目录/ i386-linux-gnu:/ usr/lib/i386-linux-gnu:/ usr/lib/jni:/ lib:/ usr/lib – Phillipus 2011-04-29 19:19:11

5

只需通过软件中心安装“hotot”(Twitter)应用程序,该软件将WebKit拖拽到一起,对我来说就是一招。 - 一个“sudo apt-get install -y libwebkitgtk-1.0-0”,或者根据https://help.ubuntu.com/community/WebKit从源代码构建,可能也会起作用。

+0

这对我有用(Ubuntu 13.10和Eclipse开普勒) – Gerbrand 2013-11-26 14:34:02

+0

为我工作Luna/Ubunt14LTS – jeeeyul 2014-08-29 04:01:06

+0

downvote暗示安装一个完全不相关的应用程序,因为它的依赖 – 2016-08-18 15:10:35

13

对于Eclipse朱诺SR1(4.2 SR1)在Ubuntu 12.04上运行,以下为我工作:

  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 
    
+0

这帮助了我在Ubuntu 12.04和Eclipse Kepler 4.3,我看到HTML代码帮助中的代码。使用Eclipse Neon的16.04LTS上的 – JorgeeFG 2013-10-03 16:54:53

+2

,安装libwebkitgtk-3.0-0就足够了。 – 2016-08-18 14:30:58

相关问题