Spring Загрузите приложение в eclipse, соединитель Tomcat, настроенный для прослушивания на порту XXXX, не смог запустить

Я разрабатываю API REST с использованием Spring Framework

Сначала я не смог запустить свое приложение из-за той же проблемы. Порт 8080 на моем компьютере занят. Затем я обнаружил, что одной из альтернатив для решения этой проблемы является создание файла application.properties папке src/main/resources. Это то, что я сделал, и настроил сервер на прослушивание порта 8090. Это сработало, но только в первый раз, теперь я получаю то же исключение, когда пытаюсь запустить приложение во второй раз.

Description:

The Tomcat connector configured to listen on port 8090 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector configuration, identify and stop any process that listening on port 8090, or configure this application to listen on another port.

Насколько я знаю, эта среда использует встроенный экземпляр Apache Tomcat для развертывания каждого приложения.

Я предполагаю, что сервер не перезагружается во второй раз, когда я пытаюсь запустить приложение, поэтому в выходных данных говорится: "Возможно, порт уже используется или неправильно настроен разъем"

Итак, более конкретные вопросы могут быть, как я могу управлять встроенным экземпляром apache tomcat вручную или программно?

Я также дважды изменил порт в файле application.properties. Работает нормально, но опять же только в первый раз. Как вы можете себе представить, я не могу делать то же самое каждый раз, когда приложение будет запущено.

Ответ 1

На консоли, глядя на верхнюю правую сторону диалогового окна, вы увидите красную кнопку, похожую на зуммер. Чтобы остановить загрузочное приложение spring правильно, вы просто запустили его, нажмите и нажмите эту кнопку "красный", и ваша проблема будет решена. Надеюсь, это поможет!

Ответ 2

  1. Найдите идентификатор процесса (PID) для порта (например: 8080)

    В Windows:

    netstat -ao | find "8080"
    

    Другие платформы, кроме Windows:

    lsof -i:8080
    
  2. Убейте идентификатор процесса, который вы нашли (например: 20712)

    В Windows:

    Taskkill /PID  20712 /F
    

    Другие платформы, кроме Windows:

    kill -9 20712   or kill 20712
    

Ответ 3

Еще один простой способ решить эту ошибку - щелкнуть правой кнопкой мыши в консоли и нажать "Завершить/Отключить все". После этого запустите приложение, оно должно работать нормально.

Ответ 4

Это потому, что вы не останавливаете свое приложение, прежде чем запускать его в другой раз, поэтому он говорит, что порт уже используется.

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

В зависимости от вашей платформы, если вы запускаете ее на окнах, вы можете использовать netstat -anp | find "port number", или если вы используете ее на linux, вы можете использовать netstat -ntpl | grep "port number" или, если используете mac, используйте lsof -n -iTCP:"port number".

Ответ 5

Я уже сталкиваюсь с этой проблемой, когда я запускаю в первый раз, а затем снова хочу запустить другой проект, который я получил:

The Tomcat connector configured to listen on port 8088 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector configuration, identify and stop any process that listening on port 8088, or configure this application to listen on another port.

И наконец я получил решение для этого, которое дано на скриншоте ниже:

enter image description here

Щелкните правой кнопкой мыши на вкладке " Консоль " → и выберите " Завершить/отключить все". А теперь попробуйте запустить свой код.

Примечание. Не забудьте остановить сервер перед запуском.

Ответ 6

Найдите процесс и завершите его. В Windows выполните Control + Alt + Delete, а затем найдите процесс "Java (TM) Platform SE Binary" на вкладке "Процессы". Например: enter image description here

В Ubuntu вы можете использовать "ps aux | grep java", чтобы найти процесс, и "kill -9 PID_NUMBER", чтобы убить процесс.

ИЛИ ЖЕ

Если вы используете загрузочное приложение Spring, перейдите в application.properties и добавьте следующее:

server.port = 8081

Ответ 7

Если ваше приложение запущено в httpS, убедитесь, что вы указали правильные значения в следующих свойствах:

server.ssl.key-store-password=
server.ssl.key-alias=

Я получил ту же ошибку, когда я поставил неправильные значения здесь

Ответ 8

  • проверьте занятый порт: netstat -ntlp
  • убить этот порт: kill -9 xxxx

Ответ 9

В Windows:

Чтобы начать, откройте командную строку, нажав Пуск, а затем введите cmd. В командной строке, вперёд и введите следующую команду:

netstat -a -n -o

В приведенной выше команде параметр -o - это то, что добавляет PID в конец таблицы. Нажмите ввод, и вы должны увидеть что-то вроде этого:

enter image description here

Теперь, чтобы увидеть имя процесса, использующего этот порт, перейдите в диспетчер задач, нажав CTRL + SHIFT + ESC, а затем перейдите на вкладку Процесс. В Windows 10 вы должны нажать на вкладку Details.

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

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

enter image description here

Надеюсь, поможет :)

Ответ 10

эту проблему можно решить двумя способами:

  1. Убить приложение, запущенное на 8080
netstat -ao | find "8080"

Taskkill /PID 1342 /F
  1. изменить порт сервера Spring в файле application.properties file

server.port=8081

Ответ 11

Есть два варианта, чтобы справиться/избежать этой ситуации.

  1. Перед повторным запуском приложения просто разорвите предыдущее соединение.

    • Open the console --> right click --> terminate all.
  2. Если вы забыли выполнить упоминание действия на шаге 1, тогда

    • Определите порт, используемый вашим приложением, вы можете увидеть его трассировку стека в окне консоли
    • Определите идентификатор процесса, связанный с портом, выполнив команду netstat -aon в cmd
    • Убейте этот процесс и перезапустите приложение.

Ответ 12

если вам это удобно и вы не хотите использовать командную строку, вы можете перезагрузить компьютер, это поможет!

Ответ 14

right click on console and stop

щелкните правой кнопкой мыши на консоли и завершите. или нажмите на стоп

enter image description here