当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
参考以下博客“如何在不重启计算机的情况下杀死tomcat”
http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html
希望这对将来的人们有所帮助。
其他回答
如果您在Eclipse中的Java EE前景中,并试图以调试模式在Eclipse中启动Tomcat服务器,那么您将得到这样的错误。您必须在Eclipse中切换到预调试。我就这样解决了我的问题。
如果在基于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并启动服务器,它将运行
Tomcat vX需要的几个端口(8005,8080,8009)。本地主机上的X服务器已经在使用
检查Tomcat的其他实例是否已经在运行,或者其他进程是否正在使用您可以使用的端口:
Netstat -b -a在windows命令提示符中。这将列出正在使用的端口,并为您提供使用每个端口的可执行文件。您需要在管理组中才能执行此操作。
你可能会得到这样的东西:
TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe] 192.168.0.1:0监听196 [Tomcat7.exe] TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]
打开任务管理器Ctrl+Shift+Esc,关闭Tomcat7.exe或使用这些端口的任何其他进程。
如果以上方法都不起作用,这里还有一个选择。您可能正在从共享驱动器(例如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)。
在Eclipse上对项目“Servers”下的Tomcat配置文件夹进行原始删除。 作为最后的希望,我试了一下,结果成功了。