Ich erhalte eine verbindliche Ausnahme beim Starten des Tomcat-Servers. Ich habe versucht, den Prozess, der '80' verwendet, zu töten, da einige Prozesse ihn benutzen.
Fehler erhalten, während die Prozess-ID "0" lautet:
FEHLER: Der Prozess mit PID 0 konnte nicht beendet werden. Grund: Das ist kritischer Systemprozess. Taskkill kann diesen Prozess nicht beenden.
Wie behebt man das?
Ich brauche keinen anderen Port, um den Tomcat-Server zu betreiben.
Wenn Sie Tomcat so einstellen, dass Port 80 gehört wird, ist WRONG , der 8080 ist für die Entwicklung ein guter Port. Für den Produktionseinsatz richten Sie einfach einen Apache ein, der Ihre Anfragen an Ihren Tomcat weiterleitet. Hier ist eine Anleitung.
Der Fehler:
java.net.BindException: Bereits verwendete Adresse: JVM_Bind: 80
bedeutet, dass eine andere Anwendung Port 80 überwacht.
Sie können prüfen, welcher Prozess diesen Port verwendet, indem Sie den Befehl lsof
eingeben, z. %Code%. Dann hör auf oder töte es.
Wenn es nicht hilft, Anwendungen zu finden, die auf demselben Port laufen, ist der häufige Fehler die Tomcat-Fehlkonfiguration.
Zum Beispiel standardmäßig Tomcat hört auf Port 8005 für SHUTDOWN Befehl und wenn Sie einen anderen Connector auf den gleichen Port hören, erhalten Sie einen Portkonflikt.
Also überprüfen Sie bitte in sudo lsof -i:80
, ob diese Ports unterschiedlich sind:
PID 0 ist der System-Idle-Prozess, der Port 80 sicher nicht abhört. Wie haben Sie überprüft, welcher Prozess den Port verwendet hat?
Sie können
verwenden %Vor%um die PID zu finden und zu überprüfen, welcher Prozess es ist.
Mit dem folgenden Befehl können Sie herausfinden, ob Ihr Tomcat-Port bereits verwendet wird,
%Vor% Ausnahme :
java.net.BindException: Address already in use: JVM_Bind:80
bedeutet, dass Port 80 von Ihrem Tomcat-Server konfiguriert wurde und bereits von einer anderen Anwendung auf Ihrem Computer verwendet wird. Bitte beenden Sie Skype, wenn Sie geöffnet sind, oder ändern Sie den Standardport in Skype oder den Port einer anderen Anwendung auf einen anderen Wert als 80. Oder ändern Sie den Tomcat-Port in einen anderen Wert als 80 (z. B. 8080 oder 9090) in der Datei server.xml im Ordner config tomcat Installationsverzeichnis.
Ausnahme :
java.net.BindException: Address already in use: JVM_Bind
bedeutet, dass Sie den Tomcat-Server nicht ordnungsgemäß stoppen und versuchen, den Server erneut zu starten. In Eclipse bestand die Lösung für mich darin, das Projekt von der Registerkarte "Server" zu entfernen und mit der rechten Maustaste zu klicken und das Projekt als "Auf Server ausführen" auszuführen. Dies hat das Projekt wieder zu Tomcat 7 hinzugefügt und ich bekomme den BindException Fehler nicht. Dies lag daran, dass Sie die Eclipse zum letzten Mal geschlossen haben, ohne den Tomcat-Server anzuhalten.
Wenn Sie an Port 8080 einen Prozess abhören, können Sie Tomcat immer so konfigurieren, dass er auf einem anderen Port hört. Ändern Sie den Listener-Port, indem Sie Ihr server.xml
unter tomcat server conf
directory bearbeiten.
Suchen Sie in der Datei server.xml nach Connector port="8080"
und ändern Sie die Portnummer in einen anderen Port.
Der Fehler:
Tomcat: java.net.BindException: Bereits verwendete Adresse: JVM_Bind : 80
legt nahe, dass der Port 80 bereits verwendet wird.
Sie können entweder:
Siehe auch: Bereitstellungsfehler: Der Start von Tomcat ist fehlgeschlagen, der Serverport 8080 wird bereits verwendet
Ich habe meinen Server gelöscht und ihn wieder hinzugefügt. Es ist passiert, weil ich die Eklipse manuell über den Task-Manager heruntergefahren habe und den Tomcat nicht heruntergefahren habe.
Ich habe komplett vergessen, dass ich zuvor eine andere Version von Apache Tomcat installiert habe, die dieses Problem verursacht hat. Versuchen Sie also, die vorherige Version zu deinstallieren. Hoffe es hilft.
Tags und Links java exception-handling tomcat