2015-04-27 3 views
1

У меня есть проект, который состоит из нескольких войн, развернутых на jboss. Эти войны генерируются путем запуска build.xml из eclipse, а затем копирования для развертывания папки на jboss. Все эти проекты являются проектами Java, поэтому я не могу их отлаживать, добавляя сервер на eclipse. Что-то вроде ниже.Как отлаживать приложение gwt без использования Eclipse

Затмение -> Несколько проектов Java (Java + GWT) -> Продукция WAR (запустить build.xml) -> Копировать в JBoss /../ .. развернуть -> start.bat

Как отлаживать этот код и узнать, какой java класс/функция вызывается.

ответ

0

Поскольку GWT переводит код на стороне клиента на JavaScript, вы не можете его отлаживать, как обычное приложение Java Web через порт отладки.

Вам необходимо использовать DevMode или SuperDevMode. Преимущество DevMode заключается в том, что вы можете отлаживать непосредственно в среде IDE, как и любое другое приложение Java. Недостатком является то, что для этого вам нужен старый браузер (например, Firefox < = 24). SuperDevMode использует исходные карты, и вы отлаживаете приложение в своем браузере, но вам нужно внести изменения в IDE, чтобы он был немного менее удобным, на мой взгляд. Рекомендуется использовать SuperDevMode, потому что поддержка DevMode больше не предоставляется.

+0

Но SuperDevMode работает для Eclipse. В моем случае eclipse не может связывать runtime с кодом, поскольку он используется только для редактирования и построения кода. Eclipse не знает о войнах и развертывании. –

+0

Ну DevMode связан с вашей IDE, в то время как SuperDevMode нет. Посмотрите здесь http://stackoverflow.com/questions/25566279/run-gwt-application-in-super-dev-mode, вам нужно развернуть это приложение как приложение SuperDevMode и связать его с кодом где-нибудь, чтобы увидеть исходные карты. От этого вы отлаживаете свой браузер не в затмении. –

0

Есть отличный плагин maven gwt для использования режима супер-детектора (SDM) GWT, но вы также сможете запустить SDM от муравья.

Отладчик - это отладчик вашего браузера, я рекомендую отладчик хром, так как его поддержка sourcemap отличная.

Ваш путь будет работать тогда:

  • построить приложение, как описано, компилировать с SDM включен в вашем gwt.xml. Обычно все, что требуется, это использование компоновщика xsi-frame.
  • Разверните приложение.
  • Запустите сервер кода superdevmode в источниках, используемых для создания кода.
  • Запустите приложение, перейдите к кодовому серверу и перетащите ссылку dev mode on на панель инструментов браузеров.
  • перейдите в свое приложение и нажмите на ссылку devmode по ссылке. Теперь кодовый сервер возьмет верх и позволит вам скомпилировать код.

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

Измените код по мере необходимости и просто дайте SDM скомпилировать ваше приложение еще раз. Не нужно возвращаться. Клиент SDM будет вводить свежий компилятор непосредственно в браузер. Если я что-то не забыл, вы сможете отлаживать свое приложение с помощью java source-stepping без eclipse.

Смотрите описание здесь http://www.gwtproject.org/articles/superdevmode.html