Лучший способ отладки веб-приложения Java, упакованного как WAR, с использованием Eclipse и Maven? - PullRequest
10 голосов
/ 16 сентября 2010

Раньше я не создавал веб-приложение на Java, но у меня его достаточно полно для тестирования, и Maven прекрасно создает мой WAR-файл. Это многомодульный проект Maven, и все зависимые модули имеют свои JAR-файлы в каталоге WEB-INF / lib WAR.

Так что все вроде нормально, но как отлаживать? Я знаю, как (из командной строки) запустить WAR в Tomcat на моей машине. Я также думаю, что знаю, как настроить и запустить плагин Maven Jetty из командной строки. Но как лучше всего отлаживать ... со всеми точками останова и проверкой переменных, которые мне нравятся в Eclipse?

Есть ли какая-то конфигурация запуска, которую я должен создать, или я подключаю отладчик удаленно? Есть ли в Eclipse что-то, что может помочь ... как плагин?

Ответы [ 4 ]

19 голосов
/ 16 сентября 2010

Если вы запускаете WAR с плагином tomcat / jetty, передайте опции отладки в Maven:

export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn tomcat:run

Если вы запускаете WAR-файл с помощью обычного Tomcat, просто запустите его с включенной поддержкой JPDA (отладчик):

$TOMCAT_HOME/bin/catalina.sh jpda start

Порт по умолчанию для Tomcat 6 JPDA - 8000.

Теперь подключитесь к Eclipse (Debug -> Remote Java Application) к порту 8000 и наслаждайтесь сессией отладки.

3 голосов
/ 13 декабря 2013

Лучший способ добавить параметры отладки в параметр $MAVEN_OPTS и, таким образом, не объединять их с другими существующими параметрами (если вы хотите запустить свое приложение не в режиме отладки, вам придется снова удалить эти параметры) использовать отладчик Maven из коробки mvnDebug, расположенный в каталоге bin, таким образом mvnDebug jetty:run. Это запустит ваше приложение в режиме отладки, а оставшееся приложение будет прикреплено к вашему отладчику.

3 голосов
/ 16 сентября 2010

Есть ли какая-то конфигурация запуска, которую я должен создать, или я удаленно подключаю отладчик?Есть ли в Eclipse что-то, что может помочь ... как плагин?

С m2eclipse Maven Integration для WTP , который вы устанавливаете из дополнений), вы можете использовать WTP иЗапустите ваше приложение в режиме отладки.

В качестве альтернативы вы можете подключить удаленный отладчик к Jetty.См. Отладка с помощью подключаемого модуля Maven Jetty в Eclipse .

3 голосов
/ 16 сентября 2010

Чтобы включить отладку через eclipse:

Я перехожу к запуску Tomcat:

-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=9999,suspend=n

Затем через Eclipse делаем Remote Debug.

  • Перейдите в Меню отладки> Конфигурация отладки

  • Прокрутите вниз, чтобы выбрать удаленное приложение Java

  • Нажмите, чтобы создать новую
    конфигурацию
  • Выбратьтип соединения как Стандартный (Socket Attach) и добавьте имя хоста и порт.

Чтобы начать отладку, просто откройте его, когда сервер работает .---

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