it-swarm.com.de

Adresse bereits verwendet: JVM_Bind Java

Manchmal, wenn ich die Anwendung neu starte, die auf Java Struts Mysql und Jboss 4.05 Version Aufgebaut ist. Ich erhalte den Fehler als Adresse, die bereits verwendet wird: JVM_Bind

Das einzige Problem, das ich weiß, ist, die Maschine neu zu starten und es erneut zu versuchen. Es wird funktionieren. Else Einige Male mache ich Strg-Alt-Entf und stoppe den gesamten Prozess, der mit Java zusammenhängt. Manchmal funktioniert das auch.

Aber was ist der genaue Grund und wie können wir dieses Problem verhindern?

44
gmhk

Adresse bereits verwendet: JVM_Bind

bedeutet, dass eine andere Anwendung bereits den Port überwacht, den Ihre aktuelle Anwendung zu binden versucht.

sie müssen entweder den Port für Ihre aktuelle Anwendung ändern oder besser. Finden Sie einfach die bereits laufende Anwendung heraus und beenden Sie sie.

unter Linux können Sie die Anwendung pid finden, indem Sie 

netstat -tulpn
44
phoenix24

In Windows tritt dieses Szenario auf, wenn Eclipse ohne sauberes Herunterfahren abstürzt. Dadurch wird der lokale Jetty- oder Tomcat-Server weiter ausgeführt .. Wenn Sie Eclipse erneut öffnen und versuchen, den Server erneut zu starten, wird die "Adresse bereits verwendet: JVM_Bind"

Sie können dieses Problem lösen, indem Sie den Task-Manager öffnen und den Prozess javaw.exe suchen und beenden.

Dann können Sie den Server auf Eclipse neu starten.

enter image description here

26
CodeQ

Normalerweise stoße ich darauf, wenn der Port, den der Server (ich verwende JBoss) bereits verwendet wird, bereits verwendet wird

Übliche Verdächtige

  1. Apache Http Server => Schalten Sie den Dienst aus, wenn Sie unter Windows arbeiten.
  2. IIS => stoppt die ISS mit 
  3. Skype => yea Ich habe Skype an Port 80 angehängt

Um den Port zu ändern, an den sich JBoss 4.2.x bindet, gehen Sie zu:

"C:\jboss4.2.2\server\default\deploy\jboss-web.deployer\server.xml"

hier ist standardmäßig die Instanz des Servers Ändern Sie den Port hier:

<Anschlussport = "8080" address = "$ {jboss.bind.address}">

Im obigen Beispiel ist der Port an 8080 gebunden

13

Öffnen Sie die Befehlszeile, und geben Sie Folgendes ein: netstat -a -o -n oder tasklist, um die aktuell ausgeführten Prozesse anzuzeigen Suchen Sie einen Port, der sich auf Java bezieht, und geben Sie Folgendes ein: taskkill /F /PID <your PID number>. Klicken Sie auf die Schaltfläche Eingabe.

4
Taras Melnyk

Ist es möglich, dass MySql am selben Port wie JBoss abhört?

Gibt es eine Portnummer in der Fehlermeldung - etwa Address already in use: JVM_Bind:8080

Sie können den Port in JBoss server.xml ändern, um dies zu testen.

3
JoseK

Es kann auch durch die doppelte Definition von Port 8080 in ..\Tomcat\conf\server.xml verursacht werden:

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

Dieser Fehler bedeutet, dass Sie versuchen, eine neue ServerSocket an einem Port zu erstellen, der bereits von einer anderen ServerSocket verwendet wird. Versuchen Sie also, dass Ihre Anwendung alle Sockets und Verbindungen schließt, von denen Sie wissen, und stellen Sie sicher, dass Ihre Anwendung vollständig beendet ist. Überprüfen Sie auch, ob ein anderer Prozess von Ihrem Programm gestartet wurde.

1

Die schnelle Antwort, wie Sie dies verhindern können, ist, dass Sie JBoss höchstwahrscheinlich stoppen müssen, bevor Sie es erneut starten können.

Sie sollten die Schaltfläche "Terminate" in der Konsolenansicht aufrufen können, um den Server herunterzufahren.

1
Jarle Hansen

bitte versuchen Sie folgende Optionen für die JVM-Bindungsausnahme:

  1. starten und stoppen Sie den Server. und überprüfen Sie die Serverprozess-IDs und beenden Sie den Server.
  2. gehen Sie zu Systemsteuerung-> Verwaltungstool-> Service-> Alle Server überprüfen und alle Server stoppen und anschließend Ihren eigenen Server starten.
  3. Ändern Sie den Browser, den Sie verwenden. Wenn Sie zum Beispiel mit IE verwenden, ändern Sie ihn in Mozilla Firefox.
0
aarifmkhan

Sie können versuchen, die Team Server-Anmeldeinformationen zu löschen. Höchstwahrscheinlich enthält die Serverspalte einen Port. Wie https://wathever.visualstudio.com:44

Gehen Sie zu Windows/Einstellungen, erweitern Sie Team und dann zu Team Foundation Server, gehen Sie zu Anmeldeinformationen und entfernen Sie die vorhandenen Informationen.

0
user9203842

Ich hatte das gleiche unter Windows. Meine Lösung bestand darin, den Port zu ermitteln, zu dem sich der Debugger verbinden möchte. (In IntelliJ bereits ein rotes Rechteck mit der Info: "Fehler beim Ausführen von Tomcat: Debugger-Port kann nicht geöffnet werden (127.0.0.1:XXXXX): ... Bereits verwendet ...") Dann habe ich nach dem Problem und der PID in einem cmd-Fenster gesucht:

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

Ich habe die PID-Nummer als letzte Nummer in der Ergebniszeile erhalten. (Sagen wir JJJJ) Zum Schluss:

TASKKILL /PID YYYY

Eine zusätzliche Info: Winscp hat sich inzwischen abgemeldet, wahrscheinlich hat es mein Problem verursacht. :)

0
BlondCode

Ich hatte auch dieses Problem. Für mich konnte ich Openfire nicht starten/stoppen (es sagte, es sei gestoppt, aber es lief noch alles)

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

Auch der Neustart von Apache half nicht

Sudo /etc/init.d/Apache2 restart

Die Fehler waren in:

/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

So wie ich das behoben habe, musste ich den Server im Admin-Bereich für meinen Host tatsächlich ausschalten. 

0
busycoding

Dies ist mir in letzter Zeit passiert, wenn Sie JMX auf zwei Tomcat-Diensten in Eclipse aktivieren. Ich habe versehentlich den gleichen Port für jeden Server angegeben.

Geben Sie jeder jmx-Fernbedienung einfach einen anderen Port

Server 1

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

Server 2

-Dcom.Sun.management.jmxremote.port=9001
0
steve