2011-04-28 72 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

相關問題