it-swarm.com.ru

Как локально отладить веб-приложение Tomcat 7.x/8.x с помощью бесплатной версии IntelliJ Community в Linux?

Я понимаю, что это возможно делать с Ultimate Edition, но есть ли способ отладки этих приложений локально в Community Edition?

23
AmirHd

История

Если вы работали с выпуском IntelliJ Ultimate, вы видели, что можно добавить конфигурацию Tomcat, в которой вы можете отлаживать или запускать контейнер Tomcat из IntelliJ. Возможно, что ваша версия IntelliJ Community будет делать то же самое для вас с небольшим количеством дополнительных настроек.

Соответствующие концепции

Tomcat JMX

Это инструмент удаленного мониторинга и управления для Tomcat. Настройки, связанные с JMX, не нужны для включения отладки. Хотя это может быть полезно для целей мониторинга через JConsole ( читать дальше ).

Разные порты

Ваш экземпляр Tomcat должен быть уже запущен, чтобы версия сообщества могла присоединиться к процессу Tomcat. Пока ваш Tomcat будет работать на порту (по умолчанию Tomcat - 8080), вам также нужно настроить другой порт, чтобы отладчик мог присоединиться к вашей работающей версии Tomcat (9999 в нашем примере).

Настройки

Настройки включают в себя изменения, которые необходимо внести в Tomcat, и конфигурации, которые необходимо выполнить в версии для сообщества IntelliJ.

Пожалуйста, следуйте порядку в изменениях.

Изменения, связанные со стороной Tomcat

  1. Остановите ваш Tomcat, если он работает в папке вашего Tomcat bin с помощью: ./shutdown или ./catalina stop

  2. Добавьте следующую строку в ваш файл catalina.sh в закомментированном выражении Java_OPTS set:

    Java_OPTS = "$ Java_OPTS -Xdebug -Xrunjdwp: transport = dt_socket, server = y, suspend = n, address = 9999"

СОВЕТ: Я использовал Java_OPTS, а не CATALINA_OPTS, поскольку комментарии в catalina.sh предполагают, что предпочтительнее использовать Java_OPTS. Однако можно использовать CATALINA_OPTS аналогичным образом, чтобы включить отладку.

  1. Запустите Tomcat:

./catalina.sh начало

IntelliJ связанные изменения

enter image description here

Результат

После нажатия на кнопку отладки в вашей версии IntelliJ Community, ваш раздел отладки должен открыться со следующей строкой в ​​области консоли:

Подключен к целевой ВМ, адрес: «localhost: 9999», транспорт: «сокет»

Соответствующие посты и ссылки

  1. Удаленная отладка с Tomcat (7) и Intellij (Очень полезно только для Window)
  2. IntelliJ и Tomcat .. Как ..? (вводит в заблуждение, поскольку это старое)
  3. Настройки IntelliJ Ultimate и Community версии (Полезно, но слишком сложно)
  4. IntelliJ IDEA 14.0.0 Web Help/Run/Debug Configuration: Tomcat (что-то полезное)
  5. Отладка с помощью Tomcat и Intellij Community Edition (Старая и неполная)
27
AmirHd

Ответ AmirHd очень полезен, но у меня была еще одна проблема. Когда я изменил Java_OPTS, сервер не выключился, как в этом посте: Tomcat не смог выключиться Я решил это, изменив 

Java_OPTS

в

CATALINA_OPTS
1
Amadeusz Iwanowski

Для пользователей Windows

положил

set "Java_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

строку в catalina.bat затем откройте командную строку в каталоге Tomcat и запустите

catalina.bat run

Также обратите внимание: мне пришлось выбрать порт 5005, потому что в настройках конфигурации в IntelliJ порт по умолчанию был недоступен для редактирования.

0
JanBrus