当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
如果以上方法都不起作用,这里还有一个选择。您可能正在从共享驱动器(例如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配置文件夹进行原始删除。 作为最后的希望,我试了一下,结果成功了。
步骤释放已用于在Eclipse中运行tomcat服务器的端口
例如,假设使用了8080端口,我们需要释放8080来运行tomcat
步骤1:
C:\Users\username>netstat -o -n -a | findstr 0.0:8080
TCP 0.0.0.0:3000 0.0.0.0:0监听3116
现在,我们可以看到8080的LISTENING端口是3116,
我们现在要杀3116人
步骤2:-
C:\Users\username>taskkill /F /PID 3116
步骤3: 转到Eclipse并启动Server,它将运行
我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:
....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
我是这样解决这个问题的:
根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat
步骤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
链接到帖子
如果在基于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并启动服务器,它将运行