当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
如果Eclipse说
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用
出现此错误是因为tomcat可能正在后台运行,所以首先停止该服务器。
解决方案是:
打开“控制台”视图(窗口->显示视图->控制台) 然后停止tomcat服务器。 然后打开“服务器”视图并启动服务器,它将工作。
谢谢!
其他回答
Macbook的解决方案:
步骤1:停止运行Java的服务器:
打开活动监视器到应用程序>实用程序>活动监视器。或简单按CMD +空格键,并开始键入活动监视器。 寻找运行Java的进程,并在终端中输入以下命令将其终止
kill -STOP <PID>
其中PID是Activity Monitor中显示的Java进程的进程号。重复执行几次,然后关闭并重新打开Activity Monitor以检查Java是否正在运行。
第二步:修改端口:
在Eclipse中的服务器上右键单击“Open”。将端口号从8080修改为8081或更大的值。
这应该会启动您的服务器。
有时,如果在尝试@BalusC建议的shutdown.bat后端口仍未释放,您可以杀死javaw进程。执行以下步骤:
点击开始菜单,打开“Windows powershell” 打开前单击右键,选择“以管理员身份运行” 输入命令ps,你可能会看到如下图片: 查看进程“javaw”的进程号。进程号是列中最右边的数字,例如我在javaw的图像进程号中高亮显示。 输入命令kill。Javaw被杀死,现在您必须能够运行程序。
如果您在Eclipse中的Java EE前景中,并试图以调试模式在Eclipse中启动Tomcat服务器,那么您将得到这样的错误。您必须在Eclipse中切换到预调试。我就这样解决了我的问题。
在我的例子中,它给了我一个错误: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
如果在基于Windows 7或Windows 10的操作系统上出现上述问题,则是因为Tomcat作为Windows Service运行。要停止Tomcat作为Windows服务运行,请打开Windows控制面板。找到服务“Apache Tomcat”并停止它。 另一种方法是使用cmd终止运行在8080端口上的进程。
以管理员身份打开cmd。
C:\users\username>netstat -o -n -a|findstr 0.0:8080 TCP 0.0.0.0:8080 0.0.0.0:0监听2160。 上面的2160是运行在端口8080上的进程的进程id,使用以下命令杀死该进程 C:\users\username>taskkill /F /PID 2160 进入IDE并启动服务器,它将运行