Можно ли отлаживать код клиента GWT на удаленном сервере с помощью IntelliJ 9 Community Edition? - PullRequest
20 голосов
/ 13 апреля 2010

Я пытаюсь перевести нашу разработку Google Web Toolkit (GWT) с Eclipse на IntelliJ 9 Community Edition. До сих пор мне удавалось успешно запускать и отлаживать клиент-серверный код с помощью плагина GWT Maven и его встроенного контейнера Jetty.

Однако у меня возникают проблемы при отладке клиентского кода, когда он уже запущен на удаленной машине (и, следовательно, нет необходимости во встроенном контейнере Jetty).

Кто-нибудь добился успеха в достижении этого? Любая помощь будет оценена!

ОБНОВЛЕНИЕ: я наконец смог сделать это. Пожалуйста, смотрите мой собственный ответ ниже ...

Ответы [ 2 ]

21 голосов
/ 14 апреля 2010

Я наконец смог достичь этого, используя класс DevMode GWT, как описано в документации .

Короче говоря -

  • Добавьте ваш проект в IntelliJ 9 Community Edition
  • Добавить Приложение Запуск / отладка конфигурации
  • Используйте com.google.gwt.dev.DevMode в качестве основного класса (убедитесь, что в путь к классам проекта включены файлы gwt-user и gwt-dev. См. здесь )
  • Добавьте следующие параметры программы:

    -noserver -war "[полный путь к вашей развернутой войне]" -gen "[полный путь к сгенерированным файлам]" -logLevel INFO -port [порт удаленного сервера] -startupUrl "[URL-адрес удаленная страница] "[com.company.YourEntryPoint]

Таким образом, бегун DevMode не будет создавать экземпляр встроенного контейнера и позволит отлаживать JavaScript вашего удаленного сервера в его исходной форме Java.

Обратите внимание, что для сборок, не требующих отладки кода удаленного клиента, вы можете использовать интеграцию с Maven или Ant, что намного проще. У меня нет опыта работы с файлом buildAxml, сгенерированным webAppCreator, но с Maven вы можете просто выполнить цели gwt: run или gwt: debug с помощью этого параметра: -DrunTarget =

Надеюсь, это поможет!

1 голос
/ 13 апреля 2010

При запуске приложения GWT, развернутого на удаленном сервере, клиентская часть вашего приложения будет переведена в javascript, поэтому я не думаю, что вы сможете отладить это из IntelliJ. Серверная часть вашего приложения все еще будет Java-кодом. Вы должны иметь возможность запустить этот удаленный сервер с параметрами отладки Java (такими как тип транспорта и порт для прослушивания). С IntelliJ вы сможете запустить сеанс удаленной отладки, используя тот же тип транспорта и порт. Если вы посмотрите на удаленную отладку, вы сможете найти, как это сделать.

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