Можно ли отлаживать код клиента GWT на сервере REMOTE с помощью IntelliJ 9 Community Edition?
Я пытаюсь переместить наш проект Google Web Toolkit (GWT) из Eclipse в версию сообщества IntelliJ 9. До сих пор я смог успешно запускать и отлаживать код клиент/сервер с помощью плагина GWT Maven и встроенного контейнера Jetty.
Однако у меня возникла проблема с отладкой кода клиента, когда он уже запущен на удаленном компьютере (и, следовательно, нет необходимости в встроенном контейнере Jetty).
Кто-нибудь добился успеха в этом? Любая помощь будет оценена!
ОБНОВЛЕНИЕ: я, наконец, смог это сделать. Пожалуйста, см. Мой собственный ответ ниже...
Ответы
Ответ 1
Я, наконец, смог это сделать, используя класс GWT DevMode, как описано в документации.
Короче говоря -
- Добавьте проект в версию сообщества IntelliJ 9
- Добавить конфигурацию прогона
- Используйте com.google.gwt.dev.DevMode как ваш основной класс (обязательно включите gwt-user и gwt-dev jars в путь к классам проекта. См. здесь)
-
Добавьте следующие параметры программы:
-noserver -war "[полный путь к вашей взорванной войне]" -gen "[полный путь к сгенерированным файлам]" -logLevel INFO -port [удаленный порт сервера] -startupUrl "[URL удаленной страницы]" [com.company.YourEntryPoint]
Таким образом, бегун DevMode не будет создавать экземпляр встроенного контейнера и позволит отлаживать удаленный сервер JavaScript в исходной форме Java.
Обратите внимание, что для построений, которые не требуют отладки удаленного кода клиента, вы можете использовать интеграцию Maven или Ant, что намного проще. У меня нет опыта работы с созданным build.xml, созданным с помощью webAppCreator, но с Maven вы можете просто запустить gwt: run или gwt: отладить цели с помощью этого параметра: -DrunTarget =
Надеюсь, что это поможет!
Ответ 2
При запуске приложения GWT, развернутого на удаленном сервере, клиентская часть вашего приложения будет переведена в javascript, поэтому я не думаю, что вы сможете отладить это от IntelliJ. На стороне сервера вашего приложения все равно будет Java-код. Вы должны иметь возможность запустить этот удаленный сервер с параметрами отладки java (например, транспортным типом и портом для прослушивания). Из IntelliJ вы можете запустить удаленный отладочный сеанс, используя тот же транспортный тип и порт.
Если вы посмотрите на удаленную отладку, вы сможете найти, как это сделать.