无法用Eclipse启动Tomcat:“地址已在使用中”

时间:2013-04-23 13:58:53

标签: java eclipse jsp servlets

我无法启动我的tomcat服务器。我几乎尝试了一切。切换位置对服务器位置没有帮助。我在Windows 8上。

这里我发布了我的控制台错误:

 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\jdk1.7.0_21\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Krzys/Desktop/eclipse-jee-juno-SR2-win32-x86_64/eclipse/jre/bin/server;C:/Users/Krzys/Desktop/eclipse-jee-juno-SR2-win32-x86_64/eclipse/jre/bin;C:/Users/Krzys/Desktop/eclipse-jee-juno-SR2-win32-x86_64/eclipse/jre/lib/amd64;;C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse;;.
 kwi 23, 2013 3:53:21 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
 WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting
 property 'source' to 'org.eclipse.jst.jee.server:Lab5' did not find a matching property.
 kwi 23, 2013 3:53:21 PM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler ["http-bio-8080"]
 kwi 23, 2013 3:53:21 PM org.apache.coyote.AbstractProtocol init
 SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
 java.net.BindException: Address already in use: JVM_Bind <null>:8080
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:406)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
    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:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:96)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:175)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:181)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:393)
    ... 17 more

 kwi 23, 2013 3:53:21 PM org.apache.catalina.core.StandardService initInternal
 SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
 org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
    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:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
    Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    ... 12 more
Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:8080
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:406)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
    ... 13 more
Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:96)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:175)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.(ServerSocket.java:237)
    at java.net.ServerSocket.(ServerSocket.java:181)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:393)
    ... 17 more

 kwi 23, 2013 3:53:21 PM org.apache.coyote.AbstractProtocol init
 INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
 kwi 23, 2013 3:53:21 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:406)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
    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:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
 Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:96)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:175)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.(ServerSocket.java:237)
    at java.net.ServerSocket.(ServerSocket.java:181)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:393)
    ... 16 more

 kwi 23, 2013 3:53:21 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:633)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
    Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    ... 12 more
Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:8009
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:406)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:610)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:429)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
    ... 13 more
Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:96)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:175)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.(ServerSocket.java:237)
    at java.net.ServerSocket.(ServerSocket.java:181)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:393)
    ... 16 more

 kwi 23, 2013 3:53:21 PM org.apache.catalina.startup.Catalina load
 INFO: Initialization processed in 1271 ms
 kwi 23, 2013 3:53:21 PM org.apache.catalina.core.StandardService startInternal
 INFO: Starting service Catalina
 kwi 23, 2013 3:53:21 PM org.apache.catalina.core.StandardEngine startInternal
 INFO: Starting Servlet Engine: Apache Tomcat/7.0.39
 kwi 23, 2013 3:53:23 PM org.apache.catalina.startup.HostConfig deployDirectory
 INFO: Deploying web application directory C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse\apache-tomcat-7.0.39\webapps\docs
 kwi 23, 2013 3:53:23 PM org.apache.catalina.startup.HostConfig deployDirectory
 INFO: Deploying web application directory C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse\apache-tomcat-7.0.39\webapps\examples
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.ApplicationContext log
 INFO: ContextListener: contextInitialized()
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.ApplicationContext log
 INFO: SessionListener: contextInitialized()
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.ApplicationContext log
 INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@737d54dd')
 kwi 23, 2013 3:53:24 PM org.apache.catalina.startup.HostConfig deployDirectory
 INFO: Deploying web application directory C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse\apache-tomcat-7.0.39\webapps\host-manager
 kwi 23, 2013 3:53:24 PM org.apache.catalina.startup.HostConfig deployDirectory
 INFO: Deploying web application directory C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse\apache-tomcat-7.0.39\webapps\manager
 kwi 23, 2013 3:53:24 PM org.apache.catalina.startup.HostConfig deployDirectory
 INFO: Deploying web application directory C:\Users\Krzys\Desktop\eclipse-jee-juno-SR2-win32-x86_64\eclipse\apache-tomcat-7.0.39\webapps\ROOT
 kwi 23, 2013 3:53:24 PM org.apache.catalina.startup.Catalina start
 INFO: Server startup in 3028 ms kwi 23, 2013 3:53:24 PM
 org.apache.catalina.core.StandardServer await
 SEVERE: StandardServer.await: create[localhost:8080]:
 java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:96)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:175)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:766)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:712)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)

 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol pause
 INFO: Pausing ProtocolHandler ["http-bio-8080"]
 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol pause
 INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.StandardService stopInternal
 INFO: Stopping service Catalina
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.ApplicationContext log
 INFO: SessionListener: contextDestroyed()
 kwi 23, 2013 3:53:24 PM org.apache.catalina.core.ApplicationContext log
 INFO: ContextListener: contextDestroyed()
 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol stop
 INFO: Stopping ProtocolHandler ["http-bio-8080"]
 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol destroy
 INFO: Destroying ProtocolHandler ["http-bio-8080"]
 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol stop
 INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
 kwi 23, 2013 3:53:24 PM org.apache.coyote.AbstractProtocol destroy
 INFO: Destroying ProtocolHandler ["ajp-bio-8009"]

在Tomcat停止后,我在控制台中收到此错误:

 kwi 23, 2013 4:27:38 PM org.apache.catalina.startup.Catalina stopServer
 SEVERE: Catalina.stop:
 java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:208)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:499)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:458)

6 个答案:

答案 0 :(得分:12)

默认情况下,Tomcat配置为在端口8080上启动,但您已经绑定了该端口。它可能是Tomcat Web服务器的另一个实例。

日志中的

Address already in use: JVM_Bind :8080表示您的计算机已在端口8080上侦听服务。使用netstat(命令行工具)或TCP View(图形工具)找到它,关闭它,然后重新启动Tomcat。它应该超过那个错误。

或者,通过双击 Servers 选项卡中的Tomcat vx.x Server at localhost行并更改 all 显示的端口,在Eclipse中配置Tomcat以在另一个端口上启动在窗口的右侧看起来有些不同。

答案 1 :(得分:3)

只需更改所有端口,例如:Tomcat管理端口,Http / 1.1和Ajp / 1.3

实施例 Tomcat管理端口:8005更改为8004, Http / 1.1:8080改为8081, Ajp / 1.3:8009更改为8008。

enter image description here

答案 2 :(得分:2)

我遇到了同样的问题,我在重启电脑后解决了这个问题。希望它有所帮助。

答案 3 :(得分:0)

它表示端口号8009已被您操作系统上运行的其他进程占用。

如果需要在8009上运行服务,您可以将server.xml中的连接器配置更改为如下所示:

  

连接器端口=&#34; 8089&#34;协议=&#34; AJP / 1.3&#34; redirectPort =&#34; 8443&#34;

答案 4 :(得分:0)

如果您确定使用该端口的实例是另一个tomcat而您无法将其关闭。强制关闭java运行时可能有所帮助。

答案 5 :(得分:0)

简单地..

开始>搜索“服务”,您将看到tomcat服务正在运行将其停止。

现在重新运行您的项目,希望您不会遇到任何困难