eclipse中的Tomcat错误

eclipse中的Tomcat错误,eclipse,tomcat,Eclipse,Tomcat,我对eclipse有一个问题,它说端口已经在使用(808009),当我更改端口时,我收到一个错误:本地主机上的Tomcat v6无法启动 调试Tomcat时,我收到以下错误: 11-Mar-2011 21:11:40 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in produ

我对eclipse有一个问题,它说端口已经在使用(808009),当我更改端口时,我收到一个错误:本地主机上的Tomcat v6无法启动

调试Tomcat时,我收到以下错误:

11-Mar-2011 21:11:40 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.6.0_21\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Program Files\Java\jdk1.5.0_09\bin;C:\Program Files\QuickTime\QTSystem\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\apache-ant-1.8.1\bin;C:\Program Files\Subversion\bin;C:\Program Files\Java\jdk1.6.0_21\bin;C:\Users\Rajin\Desktop\eclipse-jee-helios-SR1-win32\eclipse;
11-Mar-2011 21:11:41 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:EducationGamesApp' did not find a matching property.
11-Mar-2011 21:11:41 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
11-Mar-2011 21:11:41 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 635 ms
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
11-Mar-2011 21:11:41 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
11-Mar-2011 21:11:41 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8008
11-Mar-2011 21:11:41 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/29  config=null
11-Mar-2011 21:11:41 org.apache.catalina.startup.Catalina start
INFO: Server startup in 390 ms
11-Mar-2011 21:11:41 org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]: 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.<init>(ServerSocket.java:185)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
    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:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011年3月11日21:11:40 org.apache.catalina.core.AprLifecycleListener init
信息:在java.library.path:C:\Program Files\java\jdk1.6.0_21\bin;上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中实现最佳性能;。;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/ProgramFiles/Java/jre6/bin/client;C:/ProgramFiles/Java/jre6/bin;C:/ProgramFiles/Java/jre6/lib/i386;C:\ProgramFiles\Java\jdk1.5.0\U 09\bin;C:\ProgramFiles\QuickTime\QTSystem\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\ProgramFiles\apache-ant-1.8.1\bin;C:\ProgramFiles\Subversion\bin;C:\ProgramFiles\Java\jdk1.6.0\U 21\bin;C:\Users\Rajin\Desktop\eclipse-jee-helios-SR1-win32\eclipse;
2011年3月11日21:11:41 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:EducationGamesApp”未找到匹配的属性。
2011年3月11日21:11:41 org.apache.coyote.http11.http11协议初始化
信息:在HTTP-8080上初始化Coyote HTTP/1.1
2011年3月11日21:11:41 org.apache.catalina.startup.catalina加载
信息:初始化处理时间为635毫秒
2011年3月11日21:11:41 org.apache.catalina.core.StandardService启动
信息:开始服务Catalina
2011年3月11日21:11:41 org.apache.catalina.core.StandardEngine启动
信息:启动Servlet引擎:ApacheTomcat/6.0.29
2011年3月11日21:11:41 org.apache.coyote.http11.http11协议启动
信息:在HTTP-8080上启动Coyote HTTP/1.1
2011年3月11日21:11:41 org.apache.jk.common.ChannelSocket init
信息:JK:ajp13正在收听/0.0.0.0:8008
2011年3月11日21:11:41 org.apache.jk.server.JkMain开始
信息:Jk运行ID=0时间=0/29配置=null
2011年3月11日21:11:41 org.apache.catalina.startup.catalina start
信息:服务器在390毫秒内启动
2011年3月11日21:11:41 org.apache.catalina.core.StandardServer等待
严重:标准服务器。等待:创建[8005]:
java.net.BindException:地址已在使用中:JVM\u Bind
位于java.net.PlainSocketImpl.socketBind(本机方法)
位于java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
位于java.net.ServerSocket.bind(ServerSocket.java:319)
位于java.net.ServerSocket。(ServerSocket.java:185)
位于org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
位于org.apache.catalina.startup.catalina.await(catalina.java:662)
位于org.apache.catalina.startup.catalina.start(catalina.java:614)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

谢谢默认情况下,Tomcat使用两个端口:一个用于HTTP连接器,另一个作为“服务器”端口。如果打开
tomcat/conf/server.xml
,您将看到定义了以下端口:

<?xml version='1.0' encoding='utf-8'?>
  <Server port="8005" shutdown="SHUTDOWN">
  ...
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" ...
    ...
    <Connector port="8009" protocol="AJP/1.3" ...
  </Service>
</Server>

...

通过运行查找哪个应用程序保留端口

  • Windows:
    netstat-否
  • Linux:
    netstat-anp

127.0.0.1
0.0.0
上查找侦听的
8005
8080
8009
端口。在任务管理器(Windows)或
ps
(Linux)中查找PID(进程id),找出它是哪个程序,终止它,然后再次尝试启动Tomcat。

从以下链接下载TCP view sw并解压缩它。请参阅localport列中的“8080端口是否有任何进程工作”。右键单击并结束该过程。然后尝试启动TomCat服务器。这对我来说真的很有效

此问题的实际原因是WINDOWS\u Installation/WINDOWS/System32/drivers/etc中显示的主机文件,其中您的旧IP地址映射到localhost,如下所示:

127.0.0.1本地主机

192.168.XXX.XX本地主机

第二条线是罪魁祸首,有两种解决方法:

  • 从主机文件中完全删除192.168.XXX.XX localhost行
  • 将主机文件中的旧IP替换为新IP,即替换为192.168.XXX.XX localhost将其更改为192.168.XXX.YY localhost
有关更多详细信息,请参阅本博客: 没有马戏团

1.只需从以下位置下载此“apr-1.5.1-win32-src.zip”

  • 解压缩文件夹

  • 在您的情况下,将其放在Tomcat可以接触到的文件夹中(C:\Users\Rajin\Desktop\eclipse-jee-helios-SR1-win32\eclipse)

  • 重新运行应用程序/重新启动服务器


  • 看起来它在8005端口抱怨。你检查过了吗?我试着改了,但还是有同样的错误。当我尝试在属性中手动启动端口时,它会显示端口8009已经在使用中。顺便说一下,很可能没有那么困难。它应该只是另一个运行在某处的Tomcat(另一个Eclipse或者只是一个已经启动的实例)。当我重新启动我的笔记本电脑时,它起了作用。抱歉:)请查看mindas的答案,以了解这些端口的确切原因。这是一个非常好的解决方案,适用于所有对cmd线不太友好的人。谢谢你,伙计。