Адрес уже используется: JVM Bind java

несколько раз, когда я перезагрузить приложение, которое построено на Ява Подпорки Версия Mysql и Jboss 4.05 Я получаю ошибку как адрес уже используется: JVM_Bind

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

но какова точная причина и как мы можем предотвратить эту проблему ?

13 ответов


адрес уже используется: JVM_Bind

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

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

в linux вы можете найти pid приложения, используя,

netstat -tulpn

в windows этот сценарий происходит, когда Eclipse аварийно завершает работу без чистого выключения, он будет иметь локальный причал или сервер Tomcat. Когда вы снова откроете Eclipse и попытаетесь запустить сервер снова, это приведет к "адресу, уже используемому: JVM_Bind"

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

затем вы можете перезапустить сервер на Eclipse.

enter image description here


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

Обычные подозреваемые

  1. Apache Http Server => выключите службу, если она работает в windows.
  2. IIS = > остановить МКС с помощью
  3. Skype = > да, у меня есть skype, прикрепляющийся к порту 80

изменить порт, на который JBoss 4.2.x связывает себя перейти к:

"C:\jboss4.2.2\server\default\deploy\jboss-web.deployer\server.XML-код"

здесь по умолчанию используется экземпляр сервера измените порт здесь:

в приведенном выше примере порт привязан к 8080


Откройте командную строку и введите: netstat -a -o -n или tasklist для просмотра текущих процессов. Найдите порт, связанный с Java, и введите:taskkill /F /PID <your PID number>. Нажмите Enter.


возможно ли, что MySql прослушивает тот же порт, что и JBoss?

есть номер порта, указанный в сообщении об ошибке - что-то вроде Address already in use: JVM_Bind:8080

вы можете изменить порт на сервере JBoss.xml для проверки этого.


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

вы должны иметь возможность вызвать кнопку "Завершить" в представлении консоли для завершения работы сервера.


эта ошибка означает, что вы пытаетесь создать новый ServerSocket порт уже используется другим ServerSocket. Поэтому постарайтесь, чтобы ваше приложение закрыло все сокеты и соединения, о которых вы знаете, и убедитесь, что ваше приложение полностью завершено. Также проверьте, есть ли еще один процесс, запущенный вашей программой.


оно может также быть причинен двойным определением порта 8080 внутри ..\tomcat\conf\сервер.XML-код :

<Connector port="8080"
           enableLookups="false" redirectPort="8443" debug="0"/>
<Connector port="8080"
           enableLookups="false" address="127.0.0.1" maxParameterCount="30000"/>

пожалуйста, попробуйте следующие параметры для исключения привязки JVM:

  1. запуск и остановка сервера. и проверьте идентификаторы процесса сервера, и убейте и остановите сервер.
  2. перейдите в Панель управления - >инструмент администрирования - > сервис - > проверьте все сервера и остановите все серверы, а затем запустите свой собственный сервер.
  3. изменить браузер, который вы используете. например, если используя IE, измените его на Mozilla firefox.

у меня тоже была эта проблема. Для меня я не мог запустить/остановить openfire (он сказал, что он остановился, но все еще работает)

sudo /etc/init.d/openfire stop
sudo /etc/init.d/openfire start

кроме того, перезапуск apache также не помог

sudo /etc/init.d/apache2 restart

ошибки были внутри:

/opt/openfire/logs/stderror.log
Error creating server listener on port 5269: Address already in use
Error creating server listener on port 5222: Address already in use

то, как я это исправил, мне пришлось фактически отключить сервер внутри административной области для моего хоста.


у меня было то же самое на Windows. Мое решение было сделать какой порт отладки хочет подключиться. (В IntelliJ красный прямоугольник уже дает информацию: "ошибка запуска Tomcat: невозможно открыть порт отладчика (127.0.0.1:XXXXX): ... Уже используется...") Допустим, XXXXX-это номер порта. Затем я искал проблему и PID в окне cmd:

netstat -ano | find "CLOSE_WAIT" | find ":XXXXX"

Я получил номер PID как последнее число в строке результата. (Скажем, YYYY) Наконец:--3-->

TASKKILL /PID YYYY

дополнительно info: Winscp вышел из системы тем временем, вероятно, это вызвало мою проблему. :)


это недавно произошло со мной при включении JMX на двух запущенных сервисах tomcat в Eclipse. Я ошибочно поставил один и тот же порт для каждого сервера.

просто дайте каждому JMX remote другой порт

сервер 1

-Dcom.sun.management.jmxremote.port=9000

сервер 2

-Dcom.sun.management.jmxremote.port=9001

вы можете попробовать удалить учетные данные Team Server, скорее всего, они будут включать какой-то порт в столбце сервера. Как https://wathever.visualstudio.com:443

перейдите в раздел Windows / настройки разверните узел Team then Team Foundation Server перейдите в учетные данные и удалите все, что там есть.