当我试图在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
其他回答
如果您在Eclipse中的Java EE前景中,并试图以调试模式在Eclipse中启动Tomcat服务器,那么您将得到这样的错误。您必须在Eclipse中切换到预调试。我就这样解决了我的问题。
如果使用Eclipse,则双击服务器,双击tomcat服务器,然后将打开一个文件。在该文件中,将HTTP端口更改为其他端口号并保存(Ctrl+S),然后再次启动服务器。
在windows操作系统中,右键单击任务栏——>启动任务管理器——>进程,然后检查java.exe或javaw是否正在运行,如果正在运行,然后单击它并结束进程,然后重新启动你的tom cat服务器。
有时skype将占用端口80,在这种情况下,更改skype设置并将skype设置为81或更改tomcat配置。
如果你在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)
步骤1:netstat -a -o -n,它将打开一个网络列表,搜索本地地址,如127.0.0.1:8080,并注意PID (eq 3624)
C:\>netstat -a -o -n
Step2: taskkill /F /PID 3624。运行此命令终止该进程。
C:\>taskkill /F /PID 3624
链接到帖子