Tomcat startet nicht (java.net.BindException werfen:)
Ich getan haben, die folgenden Einstellungen, die zum ausführen eines Java-web-Projekt, aber irgendwie ist mein Tomcat nicht starten von Eclipse:
JAVA_HOME : C:\Program Files\Java\jdk1.6.0_03
PATH : C:\Program Files\Java\jdk1.6.0_03\bin
CATALINA_HOME : D:\javaworkspaces\apache-tomcat-7.0.27
Dann als erforderlich ist, habe ich ein neuen server aus Eclipse und geben Sie die Tomcat-installation Pfad.
Hingewiesen wird in einigen Foren habe ich Hinzugefügt tomcat-juli.jar
zu den class-path.
Trotz allem, wenn ich versuche, starten Sie den Tomcat-Server, bekomme ich die Fehlermeldung wie tomcat nicht, starrte in 45 Sek.
Bekomme ich folgende log-Meldung:
Jul 26, 2012 5:49:34 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.6.0_03\bin;D:\eclipse-jee-indigo-SR2-win32\eclipse;;.
Jul 26, 2012 5:49:34 PM org.apache.tomcat.util.digester.SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:JEE_Day01' did not find a matching property.
Jul 26, 2012 5:49:34 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-80"]
Jul 26, 2012 5:49:35 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jul 26, 2012 5:49:35 PM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"]
java.net.BindException: Address already in use: JVM_Bind <null>:8009
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:393)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:566)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:417)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:624)
at org.apache.catalina.startup.Catalina.load(Catalina.java:649)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:380)
... 16 more
Jul 26, 2012 5:49:35 PM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:624)
at org.apache.catalina.startup.Catalina.load(Catalina.java:649)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:958)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Ich genannt habe mehrere Foren, bin aber schlecht, hängt mit der situation. Bitte führe mich.
InformationsquelleAutor der Frage user1649415 | 2012-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
diese Zeilen :
bedeuten, dass bereits ein Dienst auf port 8009. gibt es eine tomcat (mit Apache JServ Protocol (ajp) bereits läuft?
wenn der Dienst läuft auf 8009 benötigt man ändern könnte der connector-Konfiguration in server.xml so etwas wie unten :
InformationsquelleAutor der Antwort olly_uk
Es sagt, der port-Nummer
8009
schon besetzt ist von einem anderen Prozess ausgeführt wird auf Ihrem OS versuchen Sie eine Suche für diesen Prozess und beende ihn oder machen Sie Ihren tomcat laufen auf verschiedenen (freien) portInformationsquelleAutor der Antwort Jigar Joshi
töten der jeweiligen (hören) - Prozess auf diesem port also 8009.
verwenden
Blick für die " PID " des Prozesses. Es kann wie folgt Aussehen
TCP [::]:8009 [::]:0 HÖREN 892
verwenden Sie den taskkill-Befehl, um den Prozess zu beenden.
Beispiel:
InformationsquelleAutor der Antwort Sadique Khan
Dies bedeutet, dass einige andere Prozess ist bereits über diesen Anschluss. Könnte es sein, eine andere Tomcat Instanz?
InformationsquelleAutor der Antwort Cratylus
Sollten Sie nicht den server wechseln.- port, um dieses problem zu beheben...
Mac/Unix/Linux-Benutzer: Wenn, nachdem Sie starten Sie Tomcat neu, und das problem besteht immer noch, es ist wahrscheinlich, weil Tomcat war das Herunterfahren nicht ordnungsgemäß und es sind Ressourcen, die immer noch verbunden mit ihm, sind jetzt gesperrt.
Sie können sehen, das PIDs dieser Ressourcen, indem Sie diesen Befehl ausführen:
Beenden Sie diese Prozesse mithilfe von:
Dieser sollte dein problem lösen.
InformationsquelleAutor der Antwort cosbor11
Versuchen :http://localhost:8089
wenn es nicht geklappt (oder)
Versuchen Sie dies: Set:JRE_HOME : C:\Program Dateien\Java\jre1.5.0_11 (abhängig von Ihrer version von JRE) und fügen Sie die C:\Program Dateien\Java\jre1.5.0_11 (abhängig von Ihrer version von JRE)\bin-Pfad
Eclipse-> gehen Sie zu windows-Einstellungen:server->RuntimeEnvironment entfernen Hinzugefügt-Server und Referesh und neue TomcatServer
InformationsquelleAutor der Antwort BloodRed
TIL: Jemand auf einem server starten Sie IIS auf port 80 und nicht niemandem erzählen.
Wenn Sie Ihren tomcat für den gleichen Anschluss konfiguriert, wird er auch melden, dieser Fehler.
Der port auf dem IIS oder tomcat geändert werden muss.
Ändern Sie den port im IIS:
Administrative Tools | Internet Information Services (IIS) - Manager
Der rechten Maustaste auf Default Web Site | Edit Bindings...
Verändern Sie Die Port -
-ODER-
Ändern Sie den port Tomcat:
Öffnen conf\server.xml und update den port-Wert im tag:
Starten Sie Tomcat Neu,
Genießen Sie 2 web-services.
InformationsquelleAutor der Antwort BobTheShrew
Etwas anderes über den port 8009.
Entweder Herunterfahren die Sache mit 8009 oder ändern Sie Ihre server.xml verwenden Sie einen anderen port als 8009
InformationsquelleAutor der Antwort vishal
Das passiert meist dann, wenn der Connector /shutdown-port des tomcat wird bereits verwendet.
Zunächst führen Sie die shutdown.bat (Manchmal verpassen wir, dass eine Instanz des tomcat wird bereits ausgeführt)
Anschließend in der Eingabeaufforderung ausführen
Um die PID der Anwendung, die zurzeit mit Ihrem Hafen. Entweder töten Sie diese Anwendung oder einige anderen Ports, die nicht aufgeführt sind, wenn Sie Sie ausführen
InformationsquelleAutor der Antwort Sagar Mhatre