Удаленная отладка Java (JPDA) не работает для меня в Tomcat 9 - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь удаленно отлаживать веб-приложение Tomcat в недавно обновленном Tomcat 9.0.13 и Open JDK 11.0.1. Сервер Redhat Enterprise Linux 7.6, и я использую Eclipse на компьютере разработчика Windows 7 для подключения.

Tomcat запускается, и приложение доступно через порт 8080, но происходит сбой при определенных запросах. Итак, на моем Eclipse я настроил приложение Remote Java с подробностями конфигурации. Когда я пытаюсь подключиться к нему, соединение не удается с

Failed to connect to remote VM. Connection refused.

Я использую порт по умолчанию, 8000 и на сервере Linux, netstat -an показывает, что процесс прослушивает этот порт при запуске Tomcat, а не при остановке Tomcat.

Я попробовал telnet из окна Windows на порт 8000 и получил

$ telnet c516vefpubrec 8000
Trying XX.XXX.XX.XX...
telnet: Unable to connect to remote host: Connection refused

Когда я делаю то же самое на нашем старом Tomcat 7 + Java 1.8, все происходит успешно. Я пробовал другие порты с тем же результатом.

Может ли это быть ошибкой? Есть ли элемент конфигурации для включения JPDA на Tomcat 9?

1 Ответ

0 голосов
/ 15 апреля 2019

У меня была точно такая же проблема. Я запускаю приложение из centos vm и пытаюсь отладить его с моего компьютера с Windows.

Мне нужно было зайти в файл catalina.sh на виртуальной машине и внести изменения. В разделе, в котором говорится, что обрабатывается флаг jpda, переменную JPA_OPTS необходимо изменить на JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=*:$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

Обратите внимание на *: перед переменной JPDA. Это позволяет любому IP-адресу иметь доступ к удаленной отладке. Я считаю, что по умолчанию разрешен только локальный хост.

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

...