Несколько портов (8005, 8080, 8009), требуемых Tomcat Server на локальном хосте, уже используются

Я получаю следующую ошибку, когда пытаюсь запустить простую JSP-программу на Tomcat в Eclipse.

Несколько портов (8005, 8080, 8009), требуемых сервером Tomcat v6.0 на локальном хосте, уже используются. Возможно, сервер работает в другом процессе, или системный процесс может использовать порт. Чтобы запустить этот сервер, вам нужно остановить другой процесс или изменить номера портов.

Как это вызвано и как я могу его решить?

Ответы

Ответ 1

У вас уже есть другой экземпляр Tomcat. Вы можете подтвердить это, перейдя в http://localhost:8080 в своем веб-браузере и убедитесь, что вы получаете домашнюю страницу Tomcat по умолчанию или страницу ошибки 404, специфичную для Tomcat. Оба являются одинаково достоверными доказательствами, что Tomcat работает нормально; если это не так, тогда вы получили сообщение об ошибке таймаута HTTP-соединения, специфичное для браузера.

Вам нужно закрыть его. Перейдите в подпапку /bin папки установки Tomcat и выполните shutdown.bat (Windows) или shutdown.sh (Unix) script. Если тщетно, закройте Eclipse, а затем откройте диспетчер задач и убейте все процессы java и/или javaw.

Или, если вы по какой-либо причине фактически установили его как службу Windows (это специально предназначено для производства и бесполезно, когда вы только начинаете), откройте диспетчер служб (Start > Run > services.msc) и остановите Служба Tomcat. При необходимости удалите всю службу Windows. Для разработки достаточно всего файла ZIP.

Или, если ваше намерение состоит в одновременном запуске двух экземпляров Tomcat, вам необходимо настроить второй экземпляр для прослушивания на разных портах. Подробнее см. В документации Tomcat.

Ответ 2

kill $(ps -aef | grep java | grep apache | awk '{print $2}')
  • Не нужно перезапускать Eclipse
  • если вы получили вышеуказанную ошибку, просто введите эту строку в терминал
  • снова запустите tomcat в Eclipse.
  • работает только в системе на базе Linux (Ubuntu..etc)

Ответ 3

Если вы работаете в Windows, попробуйте это в командной строке:

netstat -ano

Это покажет все используемые порты и идентификатор процесса ID PID процесса, который использует этот порт. Затем Ctrl + Alt + Del и откройте диспетчер задач, чтобы узнать, какой процесс это.

Затем вы можете выбрать либо закрыть или остановить его, либо настроить сервер для использования другого порта. Чтобы проверить, доступен ли новый выбранный порт (допустим, 8010), выполните следующие действия:

netstat -ano | grep 8010

Если он не возвращает никаких строк, тогда вы в порядке.

Чтобы изменить порт, перейдите к представлению "Сервер", откройте server.xml и измените его. У меня есть эта запись:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"

Ответ 4

Если вы находитесь в среде Mac, здесь - это то, что я сделал.

Найдите идентификатор процесса, запущенный на этом порту с терминала, например, 8080:

lsof -i :8080

и убейте его:

kill -9 <PID>

Ответ 5

Шаги к свободному порту, который уже используется для запуска сервера tomcat в Eclipse

Например, предположим, что используется порт 8080, нам нужно сделать бесплатный 8080 для запуска tomcat

Шаг 1:

C:\Users\имя пользователя > netstat -o -n -a | findstr 0.0: 8080

TCP 0.0.0.0:3000 0.0.0.0:01 LISTENING 3116

Теперь мы видим, что порт LISTENING равен 3116 для 8080,

Нам нужно убить 3116 сейчас

Шаг 2: -

C:\Users\имя_пользователя > taskkill/F/PID 3116

Шаг 3: Перейдите в Eclipse и запустите сервер, он запустит

Ответ 6

Если вы используете Eclipse, дважды щелкните по серверам и дважды щелкните на сервере tomcat, затем откроется один файл. В этом файле измените HTTP-порт на другой номер порта и сохраните (Ctrl + S), затем снова запустите сервер.

Ответ 7

Если Eclipse говорит

Несколько портов (8005, 8080, 8009), требуемых сервером Tomcat v6.0 на локальном хосте, уже используются

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

Решение:

  • Откройте "консольный" вид (окно- > show view- > Console)
  • Затем остановите сервер tomcat.
  • Затем откройте представление "сервер" и запустите сервер, на котором он будет работать.

Спасибо!

Ответ 8

У меня нет другого экземпляра Tomcat, работающего без другого процесса, использующего "порт Tomcat" (в моем случае, порт 8088). Eclipse отправляет то же сообщение при запуске Tomcat:

.... Возможно, сервер уже запущен в другом процессе, или системный процесс может использовать порт. Чтобы запустить этот сервер, вам нужно остановить другой процесс или изменить номера портов.

Я решаю проблему следующим образом:

  • перейдите в bin of tomcat по приглашению
  • запуск startup.bat
  • запуск shutdown.bat
  • start tomcat от Eclipse

Ответ 9

Что я сделал после прочтения всего предложенного ответа, и, как я знаю, мой порт уже используется. Я дважды нажал на Tomcat на вкладке "Серверы" в eclipse и открыл обзорную информацию, а затем нашел информацию о порте. Просто изменился конфликтный порт, так как у меня был порт 8009 (ошибка упоминалась при запуске сервера). Я изменил его на 8008, и он отлично работает. Попробуйте, если изменившийся порт не будет использоваться, сервер начнет работу.

Ответ 10

Шаг 1: netstat -a -o -n, и он вызовет список сетей, выполнит поиск локального адреса, например 127.0.0.1:8080, и запомнит PID (например, 3624)

C:\>netstat -a -o -n

Шаг 2: Taskkill/F/PID 3624. Запустите эту команду, чтобы убить этот процесс.

C:\>taskkill /F /PID 3624

ссылка на пост

Ответ 11

Простой способ решить вашу проблему:

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

1) Загрузите TCPView (только 285kb) из следующей ссылки.

http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

2) Извлеките папку и запустите приложение TCPView.

3) Щелкните правой кнопкой мыши на java.exe (потому что 8009 8005 портов обычно используются java-процессом) и выберите Завершить процесс.

это легко остановит другой процесс.

ПРИМЕЧАНИЕ. Запуск TOMCATPATH ​​/bin/shutdown.bat может не отключать Tomcat, когда он содержит какой-то демон или неуправляемый     потоки. В таких случаях TCPView отлично работает без каких-либо проблем.

Ответ 12

В Windows используйте команду для остановки уже запущенного экземпляра tomcat и попробуйте запустить его снова в eclipse, это может сработать.

net stop tomcat7 

Или вы можете изменить порт в XML файле сервера, если вы просто хотите использовать другие порты.

Ответ 13

Если вы используете Java EE в Eclipse и пытаетесь запустить Tomcat Server в Eclipse в режиме отладки, тогда вы получите такие ошибки. Вы должны переключиться на отладку проспективных в Eclipse. Я решил эту проблему так.

Ответ 14

Иногда, если порты не освобождаются даже после попытки shutdown.bat, что предложил @BalusC, вы можете убить процесс javaw. Выполните следующие действия:

  • Нажмите "Пуск" и откройте "Windows powershell"
  • Щелкните правой кнопкой мыши перед открытием и выберите "Запуск от имени администратора"
  • Введите команду ps. Вы можете увидеть изображение следующим образом: Powershell showing current proesses running

  • См. номер процесса процесса "javaw". Номер процесса - это самое правое число в столбцах, я выделил, например, номер процесса изображения javaw.

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

Ответ 15

Вот еще один вариант попробовать, если ни одна из вышеперечисленных усилий не помогла. Возможно, вы используете Eclipse с общего диска (например, H:). Если это так, переместите/скопируйте весь каталог Eclipse в C: и повторите попытку.

My Eclipse не смог открыть порты для сервера Tomcat (с вышеуказанной ошибкой) и даже не подключиться к Интернету. Я также попробовал еще один плагин Tomcat (Sysdeo), который также не смог открыть порты.

Это параметры, которые я пробовал:

Проверить и убить другие экземпляры Tomcat

  • В командной строке netstat -ano и проверьте, используют ли какие-либо другие процессы конфликтующие порты.
  • Найти PID и убить его
  • Попробуйте снова запустить сервер.

Изменить порты Tomcat в Eclipse

  • На вкладке Eclipse Server дважды щелкните экземпляр Tomcat. Это откроет вкладку конфигурации.
  • В разделе "Порты" измените номера портов. (например, 18080).

Убить java.exe и javaw

См. мой другой ответ для Eclipse, не подключающегося к Интернету (fooobar.com/questions/10472/...).

Ответ 16

Для пользователей Windows:

Перейдите в диспетчер задач непосредственно с комбинацией клавиш CTRL + SHIFT + ESC.

Убейте процессы "java.exe", щелкнув правой кнопкой мыши и выбрав "Завершить задачу".

Ответ 17

Более простое исправление, которое работает для меня, - удаление моих текущих развернутых webapps из tomcat через вкладку "Сервер". Как только я удалю их, проблема исчезнет. Просто повторно разверните проект, выполнив команду "Выполнить как > выполнить на сервере".

Ответ 18

Проблема часто возникает, когда Apache Tomcat не удается завершить, правильно, даже несмотря на то, что команда отключения была отправлена. В моем случае, используя Tomcat 8, это происходит с раздражающей регулярностью. К счастью, вы можете использовать Windows PowerShell и команду netstat для создания простого script, чтобы убить процесс.

Следующий PowerShell script будет анализировать вывод из netstat, чтобы найти любой процесс, который прослушивает 127.0.0.1:8005, извлечь его PID и затем убить этот процесс:

netstat -a -o -n `
 | select -skip 4 `
 | % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} `
 | ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} `
 | % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }

Если ваш server.xml настраивает Tomcat для использования другого порта или IP, отредактируйте регулярное выражение на четвертой строке script соответственно.

Наконец, я должен отметить, что ситуация лучше в Linux, потому что вы можете поручить Tomcat сохранить его PID в файл во время запуска и использовать переключатель, чтобы принудительно завершить работу, позже - выключение script для ' В системах nix уже есть возможность убить процесс, а работа с ошибкой с netstat не требуется.

Ответ 19

Если вышеуказанная проблема возникает в ОС Windows 7 или 10, проблема возникает из-за того, что Tomcat работает как служба Windows. Чтобы остановить запуск Tomcat в качестве служб Windows, откройте панель управления Windows. Найдите сервис "Apache Tomcat" и остановите его. Другой способ - завершить процесс, запущенный на порте 8080, с помощью cmd.

Откройте cmd, запустив его от имени администратора.

  1. C:\users\username> netstat -o -n -a | findstr 0.0: 8080
  2. TCP 0.0.0.0:8080 0.0.0.0:0 СЛУШАТЬ 2160.
  3. Приведенный выше 2160 является идентификатором процесса, запущенного на порту 8080, и завершает этот процесс с помощью следующей команды
    C:\users\username> taskkill/F/PID 2160
  4. Зайдите в IDE и запустите сервер, он запустится

Ответ 20

Это может быть из-за того, что вы неправильно останавливаете службу tomcat. Для этого откройте диспетчер задач, там вы можете увидеть сервис javaw.exe. Сначала остановите эту услугу. Теперь перезагрузите ваш кот, он работает нормально.

Ответ 21

Я проверил все ответы, но informing only to kill PID.

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

В этом случае вы можете сделать следующее:

Double click on server

Go to Overview and change ports in Ports как это:

enter image description here

Ответ 23

В Eclipse сделайте необработанное удаление папки конфигурации Tomcat в проекте "Серверы". Я попробовал это как последнюю надежду, и это сработало.

Ответ 24

В случае окон я испытал новый материал... остановка tomcat из папки /bin немедленно не освободит порт 8080. Для освобождения порта требуется около 5-10 минут. Через 10 минут снова, если я попытаюсь запустить свой проект Run- > Run на сервере.. он позволяет запускать.

Я не уверен, правильно ли я понял!

Ответ 25

Несколько портов (8005, 8080, 8009), требуемых сервером Tomcat vX.X на localhost, уже используются

Чтобы проверить, работает ли еще один экземпляр Tomcat или какой-либо другой процесс, используйте порты, которые вы можете использовать:

netstat -b -a в командной строке для окон. В этом списке указаны используемые порты и выдается исполняемый файл, который использует каждый из них. Вы должны быть в группе администратора, чтобы сделать это.

Вы можете получить что-то вроде этого:

TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8080 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

Откройте диспетчер задач Ctrl + Shift + Esc и убейте Tomcat7.exe или любой другой процесс, используя эти порты.

Ответ 26

Это происходит, когда другие в проекте также используют те же номера портов, что и вы! дважды щелкните tomcat-сервер, измените номера портов на все 8585 или что-то еще. Теперь код начнет работать!

Ответ 27

Как убить службу Windows с помощью PID -

  • откройте командную строку и введите netstat -ano
  • найдите PID портов, которые используются, в этом случае это будет 8080, 8005,8009. Пусть говорят, что PID этих портов 5760.
  • Теперь введите taskkill /f /pid 5760
  • он закроет PID, и порты будут доступны для использования. Теперь вы можете запустить tomcat как обычно с помощью служб Windows или самого затмения.

Спасибо

убить службу Windows, которая застряла при остановке или запуске

Ответ 28

Ваш Tomcat, вероятно, уже запущен. Вот почему у вас есть ошибка. Раньше у меня была такая же проблема. Я решил это очень просто:

  • Перезагрузите компьютер.
  • Открыть Eclipse
  • Запустите Tomcat

Что все.

Ответ 29

В ОС Windows щелкните правой кнопкой мыши на панели задач → запустить диспетчер задач → затем проверьте java.exe или javaw, если он запущен, затем нажмите на него и завершите затем перезагрузите сервер tom cat.

  1. Несколько раз skype будет занимать порт 80, в этом случае измените настройки skype и поместите 81 для конфигурации skype или change tomcat.

Ответ 30

Не нужно закрывать IDE затмения. Возможно, ваш Tomcat уже запущен. Вот почему у вас есть ошибка.

откройте каталог tomcat >> bin >> из командного терминала (в моем случае это tomcat9)

Введите команду

./shutdown.sh

это закроет ваш бегущий кот

enter image description here