Как заставить компонент Eclipse SWT Browser работать в Ubuntu 11.04 (Natty Narwhal) с Webkit? - PullRequest
9 голосов
/ 28 апреля 2011

Я использую элемент управления SWT Browser в своем приложении Eclipse RCP.В 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 согласно инструкциям в FAQ по SWT -http://www.eclipse.org/swt/faq.php#browserwebkitgtk

Я не могу заставить это работать вообще.Как мне выполнить «WebKitGTK 1.2.0 или более новая версия должна быть в пути загрузки библиотеки»?

Любая помощь, высоко ценимая

Ответы [ 4 ]

16 голосов
/ 25 февраля 2013

Для Eclipse Juno 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
    
8 голосов
/ 28 апреля 2011

Я не в Ubuntu, но думаю, что это не имеет большого значения.

  1. Проверьте версию libwebkit-1.0-2 (должно быть> = 1.2.0)
  2. Установить этот пакет, если его нет
  3. Убедитесь, что /usr/lib и /usr/lib/jni в java.library.path
  4. Если вы используете SWT 3.6, также убедитесь, что установлен соответствующий jni-упаковщик webkit (например, 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();

    }
}
5 голосов
/ 12 сентября 2012

Простая установка приложения «hotot» (Twitter) через Центр программного обеспечения, который увлекает за собой WebKit, сделала для меня свое дело. - "sudo apt-get install -y libwebkitgtk-1.0-0" или сборка из исходного кода согласно https://help.ubuntu.com/community/WebKit,, вероятно, также будет работать.

0 голосов
/ 16 сентября 2011

Для Натти, проверьте эту страницу: http://www.maplef.net/blog/archives/ubuntu-upgrade-eclipse3-5-to-3-6.html (игнорируйте японский / китайский материал, просто следуйте коду, чтобы добраться до Шангри-ла)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...