Я понимаю, что это возможно сделать с Ultimate Edition, но есть ли способ отладить эти приложения локально в Community Edition?
Как отлаживать веб-приложение Tomcat 7.x/8.x локально с помощью бесплатной версии IntelliJ Community в Linux?
Ответ 1
История
Если вы работали с изданием IntelliJ Ultimate, вы видели, что можно добавить конфигурацию Tomcat, где вы можете отлаживать или запускать контейнер Tomcat из IntelliJ. Вы можете получить версию своей версии IntelliJ Community для вас с небольшими дополнительными настройками.
Соответствующие понятия
Tomcat JMX
Это средство удаленного мониторинга и управления для Tomcat. Параметры JMX не нужны для включения вашей отладки. Хотя это может быть полезно для целей мониторинга через JConsole (читать дальше).
Различные порты
Экземпляр Tomcat должен быть запущен и запущен для версии сообщества, чтобы иметь возможность присоединяться к процессу Tomcat. Пока ваш tomcat будет работать на порту (по умолчанию Tomcat - 8080), вам также нужно настроить другой порт для отладчика, чтобы он подключался к вашей текущей версии Tomcat (9999 в нашем примере).
Настройки
Настройки включают изменения, которые необходимо внести в Tomcat, и настройки, которые необходимо выполнить в своем выпуске сообщества IntelliJ.
Пожалуйста, следуйте порядку изменений.
Связанные с Tomcat изменения
-
Остановите свой Tomcat, если он запущен в вашей папке bin Tomcat, через:
./shutdown
или./catalina stop
-
Добавьте следующую строку в файл catalina.sh в соответствии с запросом JAVA_OPTS:
JAVA_OPTS = "$ JAVA_OPTS -Xdebug -Xrunjdwp: transport = dt_socket, server = y, suspend = n, address = 9999"
СОВЕТ: Я использовал
JAVA_OPTS
notCATALINA_OPTS
, поскольку комментарии в catalina.sh предполагают, что использоватьJAVA_OPTS
предпочтительно. Тем не менее, можно использоватьCATALINA_OPTS
аналогичным образом, чтобы включить отладку.
- Запустите Tomcat:
./catalina.sh start
Изменения, связанные с IntelliJ
Результат
После нажатия кнопки отладки в вашей версии IntelliJ Community раздел отладки должен открыть следующую строку в области консоли:
Подключено к целевой виртуальной машине, адрес: "localhost: 9999", транспорт: "сокет"
Соответствующие сообщения и ссылки
- Удаленная отладка с Tomcat (7) и Intellij (Очень полезно только для Window)
- IntelliJ и Tomcat.. Howto..? (вводящий в заблуждение как старый)
- IntelliJ окончательные версии и настройки сообщества (полезный, но сложный)
- IntelliJ IDEA 14.0.0 Веб-справка/Конфигурация запуска/отладки: Tomcat (несколько полезно)
- Отладка с Tomcat и Intellij Community Edition (старая и неполная)
Ответ 2
Ответ AmirHd очень полезен, но у меня возникла еще одна проблема. Когда я сменил сервер JAVA_OPTS, он не остановится, как в этом сообщении: Не удалось завершить работу Tomcat Я решил это, изменив
JAVA_OPTS
к
CATALINA_OPTS