Подтвердить что ты не робот

Не удалось открыть порт отладчика в IntellJ IDEA

У меня проблема с тем, что я не могу настроить приложение в режиме отладки с помощью IntellJ IDE, но режим запуска в порядке.

Моя ОС - Windows 7, IDE - IntellJ IDEA, веб-контейнер - Tomcat 6. Я долго пробовал, менял порт HTTP и порт JMX, но он не работал.

Когда я настроил приложение в режиме отладки с помощью IntellJ, это не удалось, и журнал событий:

16:05:35 Ошибка при выполнении tomcat: невозможно открыть порт отладчика: java.net.BindException "Адрес уже используется: JVM_Bind".

Любая помощь будет оценена.

4b9b3361

Ответ 1

ключ к проблеме находится в отладчике. У меня была такая же проблема: я убивал каждый процесс, прослушивая порт 8081 (мой порт http), 1099 (порт JMX), порт отключения tomcat, каждый java.exe и все еще ничего.

Дело в том, что этот порт отладчика отличается. Если вы запустите приложение, оно будет проходить через порт, на который настроен Tomcat, 8080, 8081 или что-то еще. Но если вы запустите его в режиме отладки, он пройдет через другой порт.

Если вы измените конфигурацию Tomcat с IntelliJ, последняя вкладка Запуск/Соединение. Здесь перейдите к настройке режима Отладка, и вы увидите его порт. Мой был 50473. Я изменил его на 50472, и все снова начало работать.

Ответ 2

Для меня IntelliJ Event Log (правый нижний угол) имел следующие журналы:

Error running EntitmentTooling-Debug: Cannot run program "/path-to/apache-tomcat-8.5.15/bin/catalina.sh" (in directory "path-to/apache-tomcat-8.5.15/bin"): error=13, Permission denied

Error running EntitmentTooling-Debug: Unable to open debugger port (127.0.0.1:58804): java.net.SocketException "Socket closed"

Команда

$ chmod a+x /path-to/apache-tomcat-8.5.15/bin/catalina.sh

чтобы достаточно изменить привилегии работали на меня.

Ответ 3

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

enter image description here

Ответ 4

Это работает для меня последовательно (иногда это происходит со мной, когда я делаю такие рестарта tomcat, когда я запускаю интеграционные тесты, например)

1) Найдите процесс, в котором открыт порт 1099

sudo netstat -anp | grep tcp | grep 1099
cp6       0      0 :::1099                 :::*                    LISTEN      9857/java

2) убить его

kill 9857

3) Запустите Tomcat.

Ответ 5

У меня была такая же проблема в Windows 7 и IntellijIdea 14. Я убил java-процессы, перейдя CTRL + ALT + ESc, найду java и убей его. Теперь Re-Run, приложение снова должно быть хорошо.. Вы также можете сделать это с помощью командной строки или оболочки (linux), но я нашел это проще для себя

Ответ 6

Я решил проблему таким образом.

  • Я пытался убить все процессы java.exe, но это было бесполезно.
  • Затем я попытался удалить сервер Tomcat
  • Я повторно развернул проект и перезапустил проект, и он сработал.

Смотрите эти ссылки для получения дополнительной информации:

Удалить Tomcat Delete Tomcat

Добавить новый Tomcat Add a new Tomcat

Ответ 7

У меня было это точное сообщение.

Причина в том, что некоторые IDE (я использую Eclipse и Intellij) не смогли завершить работу сервера tomcat. Или, возможно, разбился, прежде чем он смог это сделать.

Решением было перейти на C:\...\apache-tomcat-xxx\bin и запустить shutdown.

Ответ 8

Во время отладки у меня возникла эта проблема: она работала с

  • попробовал сменить мой порт http-8082 до 8083 с Tomcat (в отладке конфигурации на IntelliJ и в Tomcat- > conf- > server.xml)
  • попытался изменить порт JMX с 1099 на 1009.
  • попытался изменить порт отладки при запуске/подключении в отладочном режиме   Конфигурации
  • убил все java-процессы в TaskManager- > Processes.

Ответ 9

Единственное, что сработало для меня, - это зайти в диспетчер задач в Windows и завершить все процессы Java, которые выполняются, щелкнув правой кнопкой мыши → завершить задачу.

Ответ 10

На вкладке Сервер конфигурации Tomcat в IntelliJ измените порт JMX на другой номер.

Ответ 11

Иногда бывает, что при перезагрузке компьютера все в порядке. Возможно, существует конфликт портов.

Перезагрузите компьютер, потому что экземпляры Java или Tomcat убиты во время перезапуска. Вы также можете рассмотреть возможность уничтожения определенных процессов из диспетчера задач

Это также происходит, если в файле context.xml есть проблема. В моем случае я случайно изменил значение контекста.

Ответ 12

У меня такая же проблема, потому что мой компьютер DNS пропустил 127.0.0.1 localhost. Когда я добавляю 127.0.0.1 localhost в мой файл хоста, все становится нормально.

Ответ 13

Для этого есть разные причины.
- Возможно, возникла проблема с портом отладчика. --- Измените его, чтобы разрешить (ответ на T.M)
- Может возникнуть проблема с intellij cache - Исключить кеш и перезапустить его решает (ответил feng smith)
- Возможно, возникнут проблемы с любым другим портом, например JMX, AJP. Также измените эти номера портов.
Я хотел добавить это как комментарий, но не достаточно rep

Ответ 14

В моем случае не работал ни один из вышеперечисленных методов, т.е. изменение номера порта в конфигурации запуска, перезагрузки компьютера, недействительности кеша в IntelliJ, процесса убийства, отображаемого в netstat (nestat -anob | findstr <port-number>, а затем tskill <pid>). Единственное, что в конечном итоге помогло, это запустить и закрыть tomcat вручную через startup.bat и shutdown.bat (вы должны использовать соответствующие файлы .sh для linux и macOS).

Ответ 15

Измените отладочный порт вашего сервера, настроенный в Intelli J.

Это будет исправлено. enter image description here

Ответ 16

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

Intelij-> preferences-> Сборка, выполнение, развертывание → Debugger-> Встроенный порт server-> (изменить значение)

enter image description here

Ответ 17

В моем случае возникла проблема в server.xml для папки Tomcat/conf, где у меня были дополнительные теги комментариев под другим тегом комментариев. Поэтому я думаю, поскольку в server.xml возникла некоторая проблема, он не смог запустить Tomcat. Кроме того, он копирует папку tomcat из установочного каталога в C:\Users\username.IntelliJIdea2017.2\system\tomcat\Tomcat_service

Ответ 18

Это происходит, когда у вас есть приложение, работающее с тем же номером порта. Один из способов сделать это - принудительно убить процесс. Откройте командную строку как администратор. Запустите команду 'taskkill/IM "java.exe"/F'. Это работало для меня в Windows. Дайте мне знать, если это работает.

Ответ 19

  1. Проверьте конфигурацию "Выполнить", чтобы увидеть, какой порт он использует (8081).
  2. Найдите все другие процессы, использующие этот порт lsof -t -i :8081
  3. Убейте процессы в этом порту. kill PROCESS_ID
  4. Запустите Tomcat в режиме отладки.

В моем случае я потратил столько времени на смену порта отладчика, но это не было проблемой. Поскольку tomcat не смог запустить порт, который я выбрал в конфигурации " Выполнить", я не смог отладить свой сервис.

Ответ 20

В моем случае у меня был другой проект, открытый в IntelliJ, и Tomcat работал в режиме отладки в этом проекте. Остановка этого экземпляра Tomcat решила проблему.

Ответ 21

Есть несколько решений для одного и того же.

  1. Либо мы можем закрыть IDE (например, IntellJ)
  2. Найдите t IND00123: bin devbratanand $ lsof -i: 30303 ИМЯ УСТРОЙСТВА КОМАНД PID ФАЙЛ РАЗМЕР/ВЫКЛЮЧЕНИЕ УСТРОЙСТВА ИМЯ УЗЛА идея 437 devbratanand 56u IPv4 0xb2720e580a7d6483 0t0 TCP 10.17.130.41:55222->v-p. akqa.local: 30303 (УСТАНОВЛЕНО) IND00123: bin devbratanand $ kill -9 437

Ответ 22

попробуйте chmod a + x/path/to/tomcat/bin/catalina.sh, если вы запустите его в intelliJ