java - Tomcat 无法在 Eclipse 中启动 - java.net.BindException : Address already in use

标签 java eclipse tomcat

我是 Tomcat 和 Eclipse 的新手,但几天来一直在寻找解决方案。我已经安装了 Tomcat v7.0 并且可以从终端启动/停止它,但我无法让它从 Eclipse 运行。我正在关注 http://www.vogella.de/articles/EclipseWTP/article.html#jspservlets 上的教程,但是当我尝试运行我的 servlet 时,我收到警报:“Server Tomcat v7.0 Server at localhost failed to start”,控制台输出为:

Feb 18, 2012 7:05:54 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: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Feb 18, 2012 7:05:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:de.vogella.wtp.filecounter' did not find a matching property.
Feb 18, 2012 7:05:54 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Feb 18, 2012 7:05:54 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Feb 18, 2012 7:05:54 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1046 ms
Feb 18, 2012 7:05:54 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 18, 2012 7:05:54 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.25
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Feb 18, 2012 7:05:55 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 654 ms
Feb 18, 2012 7:05:55 PM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:422)
at org.apache.catalina.startup.Catalina.await(Catalina.java:728)
at org.apache.catalina.startup.Catalina.start(Catalina.java:674)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Feb 18, 2012 7:05:55 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Feb 18, 2012 7:05:55 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]

在我尝试运行 Tomcat 之前,netstat 没有显示正在使用的端口 8080、8005 或 8009,因此这似乎不是问题。知道出了什么问题吗?

最佳答案

似乎当您安装 Tomcat 时 - 它决定以服务模式运行并且必须在您启动系统时运行。因此,当您通过 eclipse 启动 tomcat 时出现错误。在 server.xml 中使用其他端口可能无法解决您的问题。我的猜测是 tomcat 的另一个实例已经在运行。您可以在启动之前检查另一个 tomcat 实例的任务管理器正在运行吗它来自 eclipse 吗? 您还可以发布 netstat run 的结果吗?

关于java - Tomcat 无法在 Eclipse 中启动 - java.net.BindException : Address already in use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9345584/

相关文章:

安卓工作室 : java. lang.NoClassDefFoundError

java - 在 UI 线程中注册 Saveable 时出现 ClassCastException

eclipse - Eclipse Neon 中的输入延迟

java - 消除 Jasper 生成的 Java 源文件中 JSP 的 Javac 警告?

java - Java Web 服务器所需的最低规范是什么?

tomcat - 将多个 lib 目录添加到我的 java WebApp

java - 用于接口(interface)和其中带注释的方法的 Spring AOP

java - Joda Time 时区模式的无效格式错误

Java游戏引擎,类似于XNA

java - Android: NoSuchMethodError: 没有静态方法 zzy(Ljava/lang/Object;