Как я могу запустить проект GWT/Errai из IntelliJ 11 Community Edition?

Что мне нужно сделать, чтобы настроить конфигурацию рабочего прогона для проекта GWT с использованием Errai в IntelliJ IDEA 11 Community Edition (который не включает в себя плагин GWT)?

Я нашел инструкции по запуску проекта GWT в IntelliJ Community Edition и инструкции по работе с GWT, CDI и Errai в Eclipse, но когда я их собрал, конфигурация запуска не загружает мое приложение. Какая конфигурация нужна?

1 ответ

Решение

Чтобы запустить проект GWT/Errai из IntelliJ 11 Community Edition, выполните следующие действия:

Добавьте GWT, Errai и исходный каталог вашего проекта в classpath

  • Перейдите в Файл> Структура проекта и в разделе Настройки проекта выберите Модули. Выберите вкладку Зависимости.
  • Вы можете нажать желтую кнопку "плюс" и выбрать "Банки или зависимости", чтобы добавить зависимости. Таким образом, добавьте gwt-dev.jar и gwt-user.jar (из GWT SDK) и каталог, содержащий все ваши jar-файлы Errai (то есть: errai-marshalling-(version).jar, errai-data-binding-(версия).jar). Убедитесь, что версия этих jar-файлов соответствует вашим зависимостям Maven (или другого инструмента сборки).
  • Таким же образом добавьте каталог src вашего проекта. Это может выглядеть как "пустая библиотека", но не удаляйте ее. Откройте файл.iml вашего проекта и найдите строки, ссылающиеся на каталоги /src и / или /src/main/java. Если они находятся под элементом SOURCES, вместо этого переместите их в классы CLASSES, чтобы у вас было что-то вроде следующего. Благодарим пользователя Vic из Stack Overflow за этот взлом, внесенный в этот пост.

    <library>
      <CLASSES>
        <root url="file://$MODULE_DIR$/src" />
        <root url="file://$MODULE_DIR$/src/main/java" />
        <root url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/classes" />
      </CLASSES>
      <JAVADOC />
      <SOURCES />
    </library>
    

Создать конфигурацию запуска

  • Создайте новую конфигурацию запуска приложения ("Выполнить"> "Изменить настройки"> "+"> "Приложение").
  • В качестве основного класса укажите com.google.gwt.dev.DevMode.
  • Выберите свой проект в меню "Использовать путь к классу модуля", если он еще не выбран.
  • Добавьте программные аргументы, эквивалентные следующим, подставляя параметры вашего проекта. Чтобы получить описание всех допустимых аргументов, запустите конфигурацию без имени и проверьте вывод.

    -noserver -server org.jboss.errai.cdi.server.gwt.JettyLauncher -war /path/to/project/exploded/war/dir -logLevel INFO -startupUrl App.html project.module.App
    
  • Запустите конфигурацию и нажмите "Запустить браузер по умолчанию" в окне "Режим разработки GWT". Надеюсь, ваше приложение теперь загрузится.

Поиск проблемы

  • Если вы получаете исключения, убедитесь, что вы проверили выходные данные на вкладке "Приложение" в окне "Режим разработки GWT", поскольку выходные данные здесь не обязательно отражаются в браузере или журнале IntelliJ и могут быть ключевыми для диагностики проблем.
  • Если вы получили исключение 'java.lang.RuntimeException: отложенное связывание не удалось для'org.jboss.errai.ioc.client.Bootstrapper' (вы забыли унаследовать необходимый модуль?)', Проверьте на вкладке App. Вероятно, вы забыли наследовать модуль GWT; выход покажет, какой.
  • Если вы получаете ошибки сортировки, убедитесь, что в вашем файле ErraiApp.properties перечислены все сериализуемые типы и что основная и тестовая копии этого файла совпадают.
Другие вопросы по тегам