当我试图在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实例。您可以通过在web浏览器中访问http://localhost:8080来确认这一点,并检查是否得到Tomcat默认主页或特定于Tomcat的404错误页面。两者都是Tomcat运行良好的有效证据;如果没有,那么您将得到一个特定于浏览器的HTTP连接超时错误消息。
你需要关掉它。进入Tomcat安装文件夹的“/bin”子文件夹,执行“shutdown.bat”(Windows)或“shutdown.sh”(Unix)脚本。如果无效,请关闭Eclipse,然后打开任务管理器并杀死所有java和/或javaw进程。
或者,如果您出于某种原因将其实际安装为Windows服务(即用于生产,在开发时没有帮助),请打开服务管理器(Start > Run > services.msc)并停止Tomcat服务。如有必要,请完全卸载Windows服务。对于开发来说,只有ZIP文件就足够了。
或者,如果您的实际意图是同时运行两个Tomcat实例,则必须配置第二个实例以侦听不同的端口。有关更多细节,请参阅Tomcat文档。
对我来说更简单的解决方法是通过“服务器”选项卡从tomcat中删除我当前部署的webapps。一旦我把它们去掉,问题就解决了。只需重新部署您的项目运行>在服务器上运行。
以上都不适合我。
我找到的是点击Details按钮。
然后在Eclipse中使用Tomcat运行web服务时,出现多个具有相同路径的上下文错误
删除了重复的行,然后我得到了另一个错误。
The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.
在Eclipse中无法启动tomcatv9.0
这样就有用了。
如果你在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)
我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:
....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
我是这样解决这个问题的:
根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat