SWT Browser & Eclipse - PullRequest
       7

SWT Browser & Eclipse

9 голосов
/ 14 марта 2012

В моем Arch Linux, Eclipse с приложением Google Window Builder / SWT я получаю

Exception in thread "main" org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
    at org.eclipse.swt.SWT.error(SWT.java:4308)
    at org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1826)
    at org.eclipse.swt.browser.Mozilla.create(Mozilla.java:687)
    at org.eclipse.swt.browser.Browser.<init>(Browser.java:99)
    at octopus.EventSummaryComposite.<init>(EventSummaryComposite.java:33)
    at octopus.EventEditingComposite.<init>(EventEditingComposite.java:45)
    at octopus.EventManagementController.<init>(EventManagementController.java:31)
    at octopus.MainController.<init>(MainController.java:38)
    at octopus.MainController.main(MainController.java:85)

Я считаю, что мне нужно установить XULrunner или что-то в этом роде.Но когда я устанавливаю xulrunner в Arch, я получаю xulrunner and eclipse are in conflict.Поэтому я попытался установить pywebkitgtk.Затем я добавил -Dorg.eclipse.swt.browser.DefaultType=webkit к /usr/bin/eclipse и /usr/share/eclipse/eclipse.ini, не уверенный, какой из них используется.Но когда я бегу, я все равно получаю ту же ошибку.Похоже, webkit до сих пор не используется.Как я могу это исправить?

ОБНОВЛЕНИЕ 2

Пока я пытался установить libwebkit3.Затем добавил -Dorg.eclipse.swt.browser.UseWebKitGTK=true к /usr/share/eclipse/eclipse.ini, я получаю ту же ошибку.

Затем я также попытался загрузить и извлечь xulrunner из mozilla в ~/xulrunner и добавить -Dorg.eclipse.swt.browser.XULRunnerPath=/home/jiewmeng/xulrunner/ в конфигурацию, все та же ошибка ...

В Ubuntuтолько сейчас я только что установил xulrunner и все заработало ... Интересно, конфиг вообще используется?

Arch Linux Вопрос

ОБНОВЛЕНИЕ (Среда и версии)

Дайте мне знать, если вам нужна другая релевантная информация

ОБНОВЛЕНИЕ (старое)

Если я изменю свойкод

new Browser(this, SWT.WEBKIT)

Я получаю

Exception in thread "main" org.eclipse.swt.SWTError: No more handles
    at org.eclipse.swt.SWT.error(SWT.java:4308)
    at org.eclipse.swt.SWT.error(SWT.java:4197)
    at org.eclipse.swt.SWT.error(SWT.java:4168)
    at org.eclipse.swt.browser.Browser.<init>(Browser.java:103)
    at octopus.EventSummaryComposite.<init>(EventSummaryComposite.java:33)
    at octopus.EventEditingComposite.<init>(EventEditingComposite.java:45)
    at octopus.EventManagementController.<init>(EventManagementController.java:31)
    at octopus.MainController.<init>(MainController.java:38)
    at octopus.MainController.main(MainController.java:85)

Ответы [ 6 ]

7 голосов
/ 23 марта 2012

Кажущаяся проблема, в соответствии с отредактированным вопросом и всеми ошибками, заключается в конфликте версий между вашей работающей версией Eclipse и версиями Mozilla или WebKit, установленными в вашей системе. Это дополнительно подтверждается чрезвычайно краткой документацией и адской зависимостью .

Ключом является проверка работающей версии Eclipse и сравнение ее с версиями xulrunner и libwebkit, установленными в вашей системе, в точности так, как рекомендовано в ответе, а также с ошибками здесь и задокументировано в FAQ здесь . Однако, исходя из сложностей, с которыми вы столкнулись, и скудной документации по этой проблеме, вы должны принять особые меры предосторожности, чтобы все ваши зависимости были удовлетворены для строго правильных версий.

Учитывая ваш диагноз xulrunner and eclipse are in conflict, я немного покопался, чтобы найти правильное решение этой проблемы. Оказывается, это подробно описано в этой теме . Важная информация, о которой вам нужно беспокоиться:

  • Eclipse 3.5.2-3.6.x несовместимы с xulrunner 2.0. Если это старая система, используйте xulrunner 1.9.2-15-2 для решения проблемы.

  • Версия Eclipse, которую вы используете, скорее всего, не поддерживает libwebkit3. Как уже упоминалось, весьма вероятно, что вам нужно будет использовать более раннюю версию.

  • Во всех случаях создание версии Firefox с правильными привязками Gecko должно решить проблему и, по сути, воспроизводит эту ошибку, когда эти привязки отсутствуют:

Также обратите внимание, что релиз Firefox содержит версию Gecko коррелирует с вышеуказанными версиями Mozilla, также может использоваться с Eclipse 3.1 и новее (только для Linux), при условии, что он был скомпилирован со связанными библиотеками Gecko. Важно отметить, что Firefox загрузки с mozilla.org не удовлетворяют этому критерию, но Firefox установки, включенные в основные дистрибутивы Linux, часто при отсутствии установки XULRunner. Попытка использовать Установка Firefox без подключаемых библиотек Gecko выдаст ошибку с сообщением «Больше никаких дескрипторов [NS_InitEmbedding ... error -2147221164]».

Вкратце: проблема в том, что Arch Linux упаковывает зависимости для Eclipse SWT. Но это годичная проблема, которая указывает на вашу версию Eclipse, а остальная часть вашей системы остро нуждается в обновлении программного обеспечения ...:)


Редактировать: Чтобы получить Google WindowBuilder Pro копию виджетов браузера SWT, работающих в Arch Linux, я создал виртуальную машину и прошел через этот процесс с помощью OP. Мне удалось воспроизвести ошибку в 32- и 64-разрядной версиях Arch Linux.

Оказывается, что привязки Arch Linux для libwebkit были недостаточны, поэтому я пошел дальше и собрал xulrunner-1.9.2.19 из источника . После целого лота из необходимых исправлений моя версия make install просто работает с Eclipse.

Следующим шагом для любого желающего является сообщить об этом в Arch Linux.

3 голосов
/ 21 февраля 2013

Этот шаг работал для меня с STS 2.9.2 на основе Eclipse 3.7.2 (Ubuntu 12.04 - 64бит):

  1. Установите плагин Google для Eclipse с помощью этого сайта обновления: http://dl.google.com/eclipse/plugin/3.7. Я просто хотел использовать GWT, поэтому я проверил только «Плагин Google для Eclipse», «GWT Designer для GPE» и «SDK».
  2. Перезапустите Eclipse и убедитесь, что при попытке создать представление GWT UIBinder с помощью WindowBuilder не удается отобразить ошибку, связанную с xulrunner.
  3. Закрыть затмение.
  4. Установить необходимые пакеты (вдохновлено http://elgali.net/2012/05/14/gwt-designer-eclipse-plugin-in-ubuntu-12-04/)
    • sudo apt-get install libicu48
    • sudo apt-get install libwebkitgtk-1.0-common
    • sudo apt-get install libwebkitgtk-1.0-0
  5. Запустите Eclipse еще раз и убедитесь, что представление WindowBuilder Desing работает!
1 голос
/ 25 июля 2017

В моем случае мне просто нужно было установить libwebkitgtk-1.0-0 :

sudo apt-get install libwebkitgtk-1.0-0

Информация на моем компьютере:

$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety

См.также: https://rusya7.blogspot.com.es/2013/07/eclipse-internal-browser-is-not.html

0 голосов
/ 11 сентября 2014

В Arch linux, на основании ответа @mrgomez и FAQ при условии установки:

# pacman -S webkitgtk2

решил проблему!

Спасибо!

0 голосов
/ 05 июля 2012

MOZILLA_FIVE_HOME не настроен для затмения затмения, или любое затопление дает необработанную ошибку, пожалуйста, выполните следующий процесс, и все готово.

Вы можете получить сообщение об ошибке «MOZILLA_FIVE_HOME not set» после установки плагина цветовой темы eclipse в Ubuntu 12.04. Вот работа.

  1. Загрузите и установите здесь libhunspell-1.2-0 и установите его.

    sudo dpkg -i libhunspell-1.2-0_1.2.14-4_amd64.deb
    
  2. Загрузите и установите xulrunner-1.9.2 отсюда и установите его.

    sudo dpkg -i xulrunner-1.9.2_1.9.2.28 + build1 + nobinonly-0ubuntu0.11.04.1_amd64.deb

0 голосов
/ 14 марта 2012

См. QA браузера в FAQ по SWT

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