Вызывается: java.net.BindException: адрес уже используется: bind

Я пытаюсь запустить приложение весенней загрузки, нажав "Запуск от имени" -> "Spring Boot App". Я получаю ошибку как:

Вызывается: java.net.BindException: адрес уже используется: bind

Когда я использую команду netstat, я вижу ниже без идентификаторов процесса:

netstat -na | find "8080"

TCP    0.0.0.0:8080   0.0.0.0:0    LISTENING

TCP    [::]:8080      [::]:0       LISTENING

Обратите внимание - я запускаю свой код на машине с Windows

Как мне убить эти процессы?

4 ответа

Вы можете изменить номер порта вашего приложения, предоставив что-то вроде server.port=4567 в вашем application.properties,

ИЛИ ЖЕ

Вы можете выполнить шаги, указанные в http://www.codeman.in/blog/windows-kill-process-by-port-number-157 чтобы убить процесс, запущенный на номере порта:-

Попробуйте команду lsof -i, она должна перечислить сетевые соединения среди pid. Или еще лучше lsof -i:8080

Скорее всего, используется "8080", либо вы завершаете задачу / закрываете приложение, либо просто меняете порт по умолчанию, который используется при загрузке Spring. Несколько способов достичь, application.properties - один из них.

      try {
            SpringApplication.run(Application.class, args);
        } catch     (org.springframework.boot.web.server.PortInUseException e) {
//Runtime.exec("pkil")..
//or
SpringApplication.run(Application.class, otherargs);
//SpringApplication.run(Application.class, new String[]{"--server.port=8444"});
//when invoked recursively it is a port rebalancer for startup stage via application restarts within many busy ports which are used before or without querying.

}
Другие вопросы по тегам