
当我尝试在Eclipse中的Tomcat上运行简单的JSP程序时,出现以下错误.
已使用本地主机上的Tomcat v6.0服务器所需的几个端口(8005、8080、8009). 服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口. 要启动此服务器,您需要停止其他进程或更改端口号.
这是怎么引起的,我该如何解决?
您已经在运行另一个Tomcat实例. 您可以通过以下步骤来确认这一点: 在浏览器中为8080,并检查是否已获得Tomcat默认主页或Tomcat特定的404错误页面. 两者都是Tomcat正常运行的同样有效的证据. 如果没有,那么您将收到特定于浏览器的HTTP连接超时错误消息.
您需要将其关闭. 转到Tomcat安装文件夹的/ bin子文件夹主机上所有端口,然后执行shutdown.bat(Windows)或shutdown.sh(Unix)脚本. 如果徒劳无功,请关闭Eclipse,然后打开任务管理器并杀死所有Java和/或Javaw进程.
或者,如果出于某种原因您实际上将其安装为Windows服务(此服务是为生产而开发的,并且在开发过程中没有用),请打开服务管理器(开始>运行> services.msc),然后停止Tomcat服务. 如有必要,请完全卸载Windows服务. 对于开发而言,仅ZIP文件就足够了.
或者,如果您的实际意图是同时运行两个Tomcat实例,则必须将第二个实例配置为侦听不同的端口. 有关更多详细信息,请参阅Tomcat文档.
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
如果您在Windows上运行,请在命令行提示符下尝试以下操作:
netstat -ano
这将显示所有正在使用的端口以及使用该端口的进程的进程ID PID#. 然后按Ctrl + Alt + Del并打开任务管理器以查看哪个进程.
然后,您可以选择关闭/停止它,或将服务器配置为使用另一个端口. 要检查新选择的端口(例如8010)是否可用,请执行以下操作:
netstat -ano | grep 8010
如果它不返回任何行,那就很好.
要更改端口,请转到“服务器”视图,打开server.xml并在此更改端口. 我有这个入口:
Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
如果您在Mac环境中,这就是我所做的.
从终端查找在此端口上运行的进程ID,例如8080:
lsof -i :8080
然后杀死它:

kill -9 <PID>
如果Eclipse说
已使用本地主机上的Tomcat v6.0服务器所需的几个端口(8005、8080、8009)
此错误是因为tomcat可能在后台运行,因此请先停止服务器..请按照以下详细信息.
解决方案是:
打开“控制台”视图(窗口->显示视图->控制台),然后停止tomcat服务器. 然后打开“服务器”视图并启动将在其中运行的服务器.
谢谢!
如果使用Eclipse,则双击服务器,双击tomcat服务器,然后打开一个文件. 在此文件中,将HTTP端口更改为其他端口号并保存(Ctrl + S),然后再次启动服务器.
我没有另一个运行广告的Tomcat实例. 没有其他进程使用“ Tomcat端口”(在我的情况下为端口8088). Eclipse在启动Tomcat时发送相同的消息:
...服务器可能已经在另一进程中运行,或者系统进程可能正在使用该端口. 要启动此服务器,您需要停止其他进程或更改端口号.
我解决了这样的问题:
释放用于在Eclipse中运行tomcat服务器的端口的步骤
例如,假设使用端口8080,我们需要让8080免费运行tomcat
步骤1:
C: \用户\用户名> 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 \用户名> taskkill / F / PID 3116

第3步: 转到Eclipse并启动服务器,它将运行
阅读所有建议的答案后,我知道我的端口已被使用. 我双击eclipse的“服务器”选项卡下的Tomcat,以打开概述信息,然后找到端口信息. 刚刚更改了冲突的端口,因为我的端口是8009(启动服务器时提到了错误). 我将其更改为8008,并且工作正常. 尝试一下,如果未使用更改的端口,服务器将启动.
步骤1: netstat -a -o -n,它将打开一个网络列表,搜索127.0.0.1:8080之类的本地地址并写下PID(公式3624)
C:\>netstat -a -o -n
第二步: taskkill / F / PID3624. 运行此命令以终止该进程.
C:\>taskkill /F /PID 3624
链接发布
在Windows上使用命令
tom stop7的净停止
要停止已经运行的tomcat实例并尝试在Eclipse中再次运行它,它可以工作,或者如果您只想在其他端口上运行,则可以更改服务器XML中的端口.
解决问题的简单方法:
服务器可能已经在另一个进程中运行,或者系统进程可能正在使用端口. 要终止该端口主机上所有端口,请执行以下操作:
1)从下面的链接下载TCPView(仅285kb).
2)解压缩文件夹并启动TCPView应用程序.
3)右键单击java.exe(因为Java进程通常使用8009,8005端口),然后选择“结束进程”选项.
这很容易阻止其他进程
注意: 在运行TOMCATPATH / bin / shutdown.bat时,如果其中包含一些恶魔或非托管线程,则可能无法关闭Tomcat. 在这种情况下,TCPView可以正常工作而没有任何问题.
如果在Eclipse中使用Java EE并尝试以调试方式在Eclipse中启动Tomcat Server,则会遇到此类错误. 您必须切换到Eclipse中的调试. 我已经解决了我的问题.
有时,如果尝试shutdown.bat后仍未释放端口,则@BalusC建议您可以终止javaw进程. 请执行以下步骤:
单击开始菜单并打开“ Windows PowerShell”,然后在打开之前单击鼠标右键,然后选择“以管理员身份运行”

输入命令ps. 您可能会看到以下图片:

检查进程“ javaw”的进程号. 进程号是该列中最右边的数字. 例如,我在javaw的映像进程号中突出显示了进程号.
输入命令kill. javaw被杀死,现在您必须能够运行该程序.
如果上述工作均无帮助,则还有另一种选择. 您可能正在共享驱动器(例如H)上使用Eclipse. 如果是这样,请将整个Eclipse目录移动/复制到C :,然后重试.
即使连接到Internet,我的Eclipse也无法打开Tomcat服务器的端口(出现上述错误). 我还尝试了另一个Tomcat插件(Sysdeo),但是它也无法打开端口.
这些是我尝试过的选项:
检查并终止其他Tomcat实例
在Eclipse中更改Tomcat端口
杀死java.exe和javaw
看到我的Eclipse的其他答案未连接到Internet().
对于Windows用户:
使用CTRL + SHIFT + ESC键组合直接进入任务管理器.
通过右键单击并选择“结束任务”来终止“ java.exe”进程.
在Eclipse上,删除项目“服务器”下的原始Tomcat配置文件夹. 我尝试将其用作最后的希望,并且成功了.
在Windows上,我遇到了一件新事...从/ bin文件夹中停止tomcat不会立即释放端口8080. 释放该端口大约需要5-10分钟. 10分钟后,如果我尝试运行项目run->在服务器上运行..它允许运行.
我不确定我的理解是否正确!
请参阅以下博客“如何在不重新启动计算机的情况下杀死tomcat”
希望这对以后的人们有帮助.
对我来说,更简单的解决方法是通过“服务器”选项卡从tomcat删除当前部署的Web应用程序. 一旦删除它们,问题就消失了. 通过继续运行>在服务器上运行来重新部署项目.

当项目中的其他人使用相同的端口号时会发生这种情况!双击tomcat服务器,然后将端口号更改为任意5855或任意. 代码现在正在运行!
当Apache Tomcat无法正常终止时,即使发送了close命令,也会出现问题. 以我为例,使用Tomcat 8,这种情况以令人讨厌的规律发生. 幸运的是,您可以使用Windows PowerShell和netstat命令创建一个简单的脚本来终止该过程.
以下PowerShell脚本将解析netstat的输出,以查找在127.0.0.1:8005上侦听的任何进程,提取其PID,然后终止该进程:
netstat -a -o -n ` | select -skip 4 ` | % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} ` | ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} ` | % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }
如果server.xml将Tomcat配置为使用其他端口或IP,请相应地在脚本第四行上编辑正则表达式.
最后,我想指出的是Linux上的情况会更好,因为您可以指示Tomcat在启动时将其PID保存到文件中,并使用开关强制关闭,然后关闭脚本“ nix system已经具有杀死进程的能力,并且不需要使用netstat进行调查.
如何使用PID终止Windows服务–
打开命令提示符,然后输入netstat -ano查找正在使用的端口的PID,在这种情况下,它将为8080,8005,8009. 假设这些端口的PID为5760. 现在键入taskkill / f / pid 5760,它将关闭PID,端口将可用. 现在,您可以通过Windows服务启动tomcat或照常使自己变暗.
谢谢
杀死已停止或已启动的Windows服务
本地主机上的Tomcat vX.X服务器所需的几个端口(8005,8080,8009)已在使用中
要检查另一个已经在运行的Tomcat实例是否正在使用可用端口,请执行以下操作:
Windows命令提示符下的
netstat -b -a. 这列出了正在使用的端口,并为您提供了使用每个端口的可执行文件. 您需要在管理员组中才能执行此操作.
您可能会得到这样的内容:
TCP 192.168.0.1:8009 192.168.0.1:0侦听196 [Tomcat7.exe]
TCP 192.168.0.1:8080 192.168.0.1:0侦听196 [Tomcat7.exe]
TCP 192.168.0.1:8005 192.168.0.1:0侦听196 [Tomcat7.exe]
打开任务管理器Ctrl + Shift + Esc,并使用这些端口杀死Tomcat7.exe或任何其他进程.
您的Tomcat可能已经在运行. 这就是为什么您有一个错误. 我之前遇到过同样的问题,我只是简单地解决了这个问题:
重新启动计算机,打开Eclipse并运行Tomcat
就是这样.
在Windows操作系统中,右键单击任务栏->启动任务管理器->进程,然后检查java.exe或javaw是否正在运行(如果正在运行),然后单击它并执行结束进程,然后重新启动Tom Cat服务器.
有时Skype将占用端口80. 在这种情况下,请更改Skype的设置并将81设置为Skype或更改Tomcat的配置.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-178740-1.html
韬韬演技太好