Удаленная отладка Tomcat с Eclipse

Я не могу отлаживать приложение tomcat через Eclipse. Я установил

CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

а затем я запускаю bin/catalina.sh , где я вижу вывод о том, что он слушает dt_socket на port 8000 . Но всякий раз, когда я пытаюсь подключиться к порту 8000 в Eclipse (добавив запись в меню удаленного java-приложения), он жалуется на отказ от соединения. Есть идеи?

Можете ли вы проверить, работает ли это?

 JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" catalina.sh jpda start по JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" catalina.sh jpda start 

В каталоге bin tomcat, где найдены каталины.bat или .sh (aka {CATALINA_BASE} / bin), отредактируйте (создайте, если нет):

 setenv.bat/.sh 

Добавьте следующую строку:

 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 

Это все, что вам нужно сделать, вам не нужно редактировать файл catalina.bat (или .sh ).

См. Комментарии в catalina.bat или catalina.sh .

Возможно, вам придется настроить синтаксис для конкретной среды / ситуации. Например, если у вас уже определено CATALINA_OPTS, вы можете сделать что-то вроде этого (в среде Windows):

 set CATALINA_OPTS=%CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=n 

Чтобы отладить от Eclipse:

run-> Конфигурации отладки …-> Удаленное приложение Java-> Новое

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

Я потратил некоторое время на это, чтобы получить правильную информацию.

Итак, вот подробная информация шаг за шагом.

Окружающая среда: Windows 7

Версия TomCat: 7.0

IDE: Eclipse

Конфигурации, которые нужно добавить для включения удаленной отладки в tomcat, – это

 -Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n 

Я не рекомендую эту конфигурацию для среды без окон. Чтобы добавить вышеуказанную конфигурацию, дважды щелкните на сервере tomcat, который будет доступен на сервере. Найдите снимок экрана ниже. введите описание изображения здесь

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

введите описание изображения здесь

Теперь перейдите на вкладку «Ремиксы» в разделе «Свойства запуска запуска редактирования», как показано ниже.

введите описание изображения здесь

В разделе аргументов GoTo VM добавьте эти строки.

-Xdebug

-agentlib: JDWP = транспорт = транспорт по сокетам, адрес = 8000, сервер = у, приостановить = п

введите описание изображения здесь

Теперь появилась кнопка отладки, доступная на панели инструментов eclipse.

введите описание изображения здесь

В конфигурациях Debug найдите «Удаленное приложение Java» и дважды щелкните по нему. введите описание изображения здесь

В поле «Имя» введите любое имя, которое вам нравится.

Из поля проекта с помощью кнопки обзора выберите проект, который вы хотите выполнить удаленную отладку.

Имя хоста – это только адрес хоста. Здесь я работаю локально, так что это «localhost».

В последнем столбце Port значение должно быть 8000. Помимо текстовых полей Name и Project другие два столбца Host и порт будут заполнены самим eclipse, если вы не указали те же значения, что и упомянутые. Проверьте снимок экрана для информации. введите описание изображения здесь

Теперь щелкните правой кнопкой мыши на TomcatServer в консоли сервера, выберите «Добавить и удалить из контекстного меню». В этом диалоговом окне вы можете добавить проект на сервер.

Теперь запустите Tomcat sever.

введите описание изображения здесь

Теперь запустите TomCatDebugConfiguration из Debug Tool.

Последний открытый внутренний или внешний браузер и запуск вашего проекта. Если контроль выполнения достигнет точек разрыва, то затмение предложит отладочную перспективу.

В файле catalina.bat пожалуйста, измените ниже.

  • Шаг 1: CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

  • Шаг 2: JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

  • Шаг 3. Запустите Tomcat из командной строки, как catalina.sh jpda start ниже: catalina.sh jpda start

  • Шаг 4: Затем в eclipse создайте конфигурацию отладки

    1. Дайте имя для конфигурации.
    2. Укажите project name .
    3. Укажите тип подключения как Standard(Socket Attach)
    4. хост как localhost
    5. порт как 8000 (или любой номер порта, но он должен быть таким же и в других местах).

Позвольте мне поделиться простым способом включения удаленного режима отладки в tomcat7 с помощью eclipse (Windows).

Шаг 1: открыть файл bin / startup.bat
Шаг 2: добавьте ниже строки для отладки с опцией JDPA (она должна начинаться с строки)

  set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket 

Шаг 3: в том же файле .. перейти к концу файла изменить эту строку –

  call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% instead of line call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

шаг 4: тогда просто запустите bin> startup.bat (так что теперь ваш сервер tomcat работал в удаленном режиме с портом 8000).

Шаг 5: после этого позволяет подключить исходный проект с помощью eclipse IDE с удаленным клиентом.

step6: В Eclipse IDE перейдите в раздел «Конфигурация отладки»,

step7: нажмите «удаленное приложение Java» и нажмите «Новый»,

step8. на вкладке «connect» установите значение параметра

  project= your source project connection Type: standard (socket attached) host: localhost port:8000 

step9: нажмите применить и отладить.

поэтому, наконец, ваш удаленный клиент eclipse связан с работающим сервером tomcat (режим отладки).

Надеюсь, этот подход может помочь вам.

С уважением..

Измените параметр catalina.bat, чтобы добавить

 set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 

а также

 CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 

Необязательно: добавьте строку ниже, чтобы запустить режим отладки по умолчанию при запуске startup.bat

 call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% 

Eclipse или STS выберите конфигурацию отладки правой кнопкой мыши -> новый

 connection type -> Standard socket Attach Port -> 8000 (as given in the CATALINA_OPTS) Host -> localhost or IP address 

Просто запустите ./catalina.sh jpda start (forks) или ./catalina.sh jpda run (не fork, не упоминается в справке). Все параметры, упомянутые здесь, по умолчанию соответствуют нормальным значениям.

Если все еще не работает, вы всегда можете добавить скрипт

  set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 

В tomcat 7, catalina.sh имеет этот код:

 if [ "$1" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi по if [ "$1" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi 

Ii подразумевает, что вы можете настроить JPDA с помощью:

 export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=8000 export JPDA_SUSPEND=n 

Или с:

 JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 

И, наконец, используйте:

catalina.sh jpda start

С уважением

Я столкнулся с этой проблемой во время запуска Tomcat внутри контейнера Docker. Чтобы исправить это, убедитесь, что вы добавили аргумент «-p 8000: 8000» в команду запуска docker, чтобы открыть этот порт на локальном компьютере. Конечно, вам понадобится файл setenv.sh в вашем $ {CATALINA_HOME} / bin / в вашем контейнере.

Изменение startup.bat с CATALINA_OPTS и JPDA_OPTS не сработало для меня, но добавив их в catalina.bat

  1. Изменить Catalina.bat

CATALINA_OPTS = “- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n”

JPDA_OPTS = “- agentlib: JDWP = транспорт = транспорт по сокетам, адрес = 8000, сервер = у, приостановить = п”

  1. Измените startup.bat, чтобы включить jpda

change call “% EXECUTABLE%” start% CMD_LINE_ARGS% to

вызов «% EXECUTABLE%» jpda start% CMD_LINE_ARGS%

Затем настройте удаленное приложение java в своих конфигурациях отладки в Eclipse.

Прежде всего, если вы откроете файл catalina.bat с помощью текстового редактора, вы увидите следующее: «Не устанавливайте переменные в этом скрипте …..» Поэтому никогда не изменяйте его в этом скрипте, вместо этого вы можете сделать следующие шаги:

  1. Он советует вам создать новый bat-файл с именем «setenv.bat».
  2. Затем установите 2 переменных в файле bat, например:

    set CATALINA_OPTS = “- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n”

    set JPDA_OPTS = “- agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n”

  3. Наконец, запустите команду cmd, чтобы: “catalina.bat jpda start”

  4. В среде IDE создайте удаленную конфигурацию отладки и установите для хоста соответствующий IP-адрес и порт на 8000.

Для версии apache-tomcat-8.5.28 просто сделайте это,

 catalina.bat jpda start 

Поскольку настройки по умолчанию уже настроены для нас в catalina.bat как

если не “% JPDA_OPTS%” == “” goto gotJpdaOpts установлено JPDA_OPTS = -agentlib: jdwp = transport =% JPDA_TRANSPORT%, address =% JPDA_ADDRESS%, server = y, suspend =% JPDA_SUSPEND%

Так что не нужно никакой другой конфигурации. И когда вы запускаете команду catalina.bat jpda start, вы можете увидеть отладочный порт 8000.

Для apache-tomcat-8.5.28

измените JDPA_OPTS как JDPA_OPTS ниже, затем запустите, как catalina.bat jpda start

 JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=8000,server=y,suspend=$JPDA_SUSPEND" 
  • Как настроить встроенный Tomcat, интегрированный с Spring, для прослушивания запросов на IP-адрес, кроме localhost?
  • как узнать версию операционной системы tomcat
  • Как установить кодировку запроса в Tomcat?
  • Статус HTTP 404 - Запрошенный ресурс (/) недоступен
  • Храните PDF в течение ограниченного времени на сервере приложений и делайте его доступным для загрузки
  • IntelliJ не может запускать простое веб-приложение: невозможно подключиться к серверу ping на localhost: 1099
  • Как прочитать файл манифеста для webapp, запущенного в apache tomcat?
  • Сервлеты для тестирования модhive
  • Смутно о том, как обращаться с запросами preflight CORS OPTIONS
  • Как развернуть военный файл в Tomcat 7
  • Полоса пробела от выхода jsp
  • Давайте будем гением компьютера.