15

嗨,我无法从 Eclipse 启动 tomcat 7 服务器。

当我从 Eclipse 开始时,我得到以下错误日志。

Jan 11, 2013 10:10:27 AM 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\jre7\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:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\eclipse;;.
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:28 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1165 ms
Jan 11, 2013 10:10:28 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 11, 2013 10:10:28 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:28 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 507 ms
Jan 11, 2013 10:10:28 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
    at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
    at java.net.PlainSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.bind(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:422)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:707)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:653)
    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.start(Bootstrap.java:303)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)

Jan 11, 2013 10:10:28 AM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:29 AM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:10:30 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jan 11, 2013 10:10:30 AM org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:10:30 AM org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]

现在我收到以下错误。

Jan 11, 2013 10:18:59 AM 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\jre7\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:\Users\Jayant\Desktop\data\adt-bundle-windows-x86\eclipse;;.
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:19:00 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 872 ms
Jan 11, 2013 10:19:00 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 11, 2013 10:19:00 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jan 11, 2013 10:19:00 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jan 11, 2013 10:19:00 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 535 ms
Jan 11, 2013 10:20:13 AM org.apache.catalina.core.StandardServer await
WARNING: StandardServer.await: Invalid command 'GET / HTTP/1.1' received
Jan 11, 2013 10:20:19 AM org.apache.catalina.core.StandardServer await
WARNING: StandardServer.await: Invalid command '' received
4

10 回答 10

16

转到 server.xml 文件并更改

<Server port="8005" shutdown="SHUTDOWN">

<Server port="8006" shutdown="SHUTDOWN">
于 2019-07-09T18:39:15.490 回答
15

admin 端口用于接收管理命令,HTTP 端口用于接收 HTTP 请求。您必须使用不同的端口。发生的事情是:HTTP 连接器无法启动,因为服务器已经打开了该端口。您的浏览器/客户端/无论向管理端口发送请求,服务器不理解 HTTP 并记录此错误。

尝试将 Tomcat 重新安装到另一个端口。

于 2013-01-11T04:46:23.587 回答
4

我遇到了这个问题(端口 8005 已经被使用),根本原因是由于我的机器上已经运行了一个现有的 tomcat 进程。所以,我需要做的基本上就是杀死现有进程并重新启动tomcat。

于 2013-08-14T13:37:29.027 回答
4

采用:

pkill -f tomcat

摆脱任何现有的或无响应的 tomcat 实例或进程。

start tomcat. 
于 2018-10-15T23:29:24.663 回答
3

在 Windows 10 中,端口 8005 已被保留(用于某事)。更改为例如 8089(或任何自由端口)tomcat/conf/server.xml

于 2020-10-02T11:16:30.013 回答
2

常见的错误是在server.xml配置文件中使用相同的 Shutdown 和 Connector 端口。

这些端口应该不同,这是正确的示例:

<Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8983" protocol="HTTP/1.1"

默认情况下,Tomcat 在端口 8005 上侦听 SHUTDOWN 命令,并且它应该始终与连接器端口不同。

如果您的端口仍在使用中,请尝试sudo lsof -i:8005查找原因。

于 2015-04-06T21:02:08.097 回答
1

如果您使用的是 linux 系统,则在终端上键入 ps -ef|grep tomcat。然后找到进程id(PID)。然后在终端上输入 kill -9 。现在,启动 tomcat 服务器。

于 2018-06-21T16:30:59.930 回答
1

解决此问题的2种方法:

1> 进入tomcat服务器安装目录,打开server.xml文件,检查是否

连接器和服务器端口不同。如果不让它们成为不同的端口,然后检查这些端口上是否没有运行任何东西

2> 从开始打开命令提示符并键入 netstat -ano | findstr 8010 检查端口是否正在使用。如果它们被使用,那么你会得到 TCP 0.0.0.0:8005 0.0.0.0:0 LISTENING 4 TCP [::]:8005 [::]:0 LISTENING 4

然后a>使用任务管理器中的进程ID(在我的情况下为4)终止进程

如果它们没有被使用,那么你在 cmd 中什么也看不到

于 2019-04-02T17:09:39.107 回答
0

您可以做的不是杀死进程,您可以转到tomcat目录/conf/server.xml,在这里您可以将关闭端口(8005)更改为其他端口。还将默认端口(8080)和其他更改为不同的端口。因此,您可以在单台机器上运行多个 Tomcat 实例。重新启动您的服务器(如果问题仍然存在)在 Eclipse 中重新创建它。

于 2014-07-11T09:48:31.083 回答
0

如果您有多个应用程序,请检查是否有任何其他应用程序使用 server.xml 文件中定义的相同服务器端口。我就是这种情况。

于 2021-12-24T17:28:38.110 回答