当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
在我的例子中,它给了我一个错误:Tomcat v8.0服务器在localhost上所需的端口8005已经在使用中
我在apache-tomcat-8.0.39\conf\server.xml中更改了8005端口,但更改没有得到反映。然后我从eclipse做了这些改变。通过双击服务器并将端口从8005修改为8006,它就可以工作了。
在放8006之前,我在windows shell中检查这个端口是否可用。执行如下命令:
netstat -a -o -n | findstr 8006
其他回答
在我的例子中,它给了我一个错误:Tomcat v8.0服务器在localhost上所需的端口8005已经在使用中
我在apache-tomcat-8.0.39\conf\server.xml中更改了8005端口,但更改没有得到反映。然后我从eclipse做了这些改变。通过双击服务器并将端口从8005修改为8006,它就可以工作了。
在放8006之前,我在windows shell中检查这个端口是否可用。执行如下命令:
netstat -a -o -n | findstr 8006
如果你在mac环境下,这是我所做的。
从终端找到运行在该端口上的进程id,例如8080:
lsof -i :8080
杀死它:
kill -9 <PID>
例子:
结果如下:
MacSys:bin krunal.$ lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 21347 krunal 52u IPv6 XXX 0t0 TCP *:http-xxx (LISTEN)
杀死它:(kill -9 21347)
如果以上方法都不起作用,这里还有一个选择。您可能正在从共享驱动器(例如H:)中使用Eclipse。如果是,将其移动/复制到整个Eclipse目录C:,然后再试一次。
我的Eclipse无法为Tomcat服务器打开端口(有上述错误),甚至无法连接到internet。我还尝试了另一个Tomcat插件(Sysdeo),它也未能打开端口。
以下是我尝试过的选择:
检查并杀死其他Tomcat实例
在命令提示符中输入netstat -ano,检查是否有其他进程正在使用冲突的端口。 找到PID并杀死它 尝试重新启动服务器。
在Eclipse中更改Tomcat端口
在Eclipse Server选项卡中,双击Tomcat实例。这将打开配置选项卡。 在“端口”下,修改端口号。(例如,18080)。
关闭java.exe和javaw
在任务管理器中,找到并杀死java.exe和javaw(参见https://stackoverflow.com/a/25334782/4212710和https://stackoverflow.com/a/26136890/4212710) 尝试重新启动服务器。
请参阅我对Eclipse无法连接到Internet的其他回答(https://stackoverflow.com/a/37246087/4212710)。
我也遇到了同样的问题,经过搜索,答案如下所示: 1. 打开Monitor Tomcat,如下所示:
只需按下停止,如下图所示:
经过多次试验和建议的解决方案后,它终于与我一起工作了。
此致敬意 凯雷洛斯·米哈伊尔
您的Tomcat可能已经在运行。这就是为什么会出现错误。我以前也遇到过同样的问题。我的答案很简单:
重新启动计算机 打开Eclipse 运行Tomcat
这是所有。