我尝试使用IntelliJ IDEA启动一个Web应用程序,但是出现错误:localhost:1099已被占用
。
我使用lsof -i:1099
和其他相关命令检查了端口1099,所以我非常确定该端口可用。
这是我的运行配置:
我还将JMX端口
更改为6666、6667、6668等,但并没有起作用,因此我认为这与端口本身无关。
我很困惑......是否有其他人遇到过这个问题?
感谢任何帮助。
我尝试使用IntelliJ IDEA启动一个Web应用程序,但是出现错误:localhost:1099已被占用
。
我使用lsof -i:1099
和其他相关命令检查了端口1099,所以我非常确定该端口可用。
这是我的运行配置:
我还将JMX端口
更改为6666、6667、6668等,但并没有起作用,因此我认为这与端口本身无关。
我很困惑......是否有其他人遇到过这个问题?
感谢任何帮助。
因为使用命令提示符很容易处理,您可以执行以下操作。我假设您正在使用Windows。
打开CMD并输入以下内容。
netstat -aon | find "1099"
如果一个进程使用了上述端口,它应该返回类似于这样的输出。TCP xxx.xx.xx.xx:1099 xx.xx.xx.xxx:443 ESTABLISHED 2222
最后一列的数值 (2222) 是指进程ID (PID)。
按以下方式 终止 它即可。
taskkill /F /PID 2222
现在您可以启动服务器。
netstat -ano -p TCP | Select-string '1099'
。这不是你的错,因为你明确说明了 CMD,但我相信有些人会注意不到 Powershell 和 CMD shell 之间的细微差别而落在答案上。 - Anogoya Dagaate在不同网络中,某些端口可能会被默认保留。因此,如果您无法在netstat -aon
命令中找到:1099端口,则需要首先检查您的保留端口。
netsh interface ipv4 show excludedportrange protocol=tcp
端口1099可能会在列表中显示为保留端口。但对于我来说并非如此。不过,我还是决定尝试将其列为例外。成功了!
按照以下步骤操作:
确保将此文本复制到记事本中,因为您将暂时失去互联网连接。
以管理员身份打开CMD。
按顺序逐个输入以下命令以停止网络:
net stop winnat
net stop LanmanWorkstation
net stop WlanSvc
net stop WwanSvc
将端口1099从保留列表中排除:
netsh int ipv4 add excludedportrange protocol=tcp startport=1099 numberofports=4
重新启动网络:
net start winnat
net start LanmanWorkstation
net start WlanSvc
net start WwanSvc
完成。
对于我来说,只需在IntelliJ IDEA中将JMX端口更改为1599
也可以解决此问题。
在我的情况下
解决方法是:
net stop winnat
net start winnat
正如David在这里发布的那样。
The first step, the command prompt, execute the command:
netstat –ano
Visible, port 1099 process PID is 6072.
The second step, the command prompt, execute the command:
tasklist
The third step, the task manager, the termination of the process java.exe
We will see the opening of the 2 java.exe, to end it all.
The fourth step, restart tomcat, can be started
实际上,这可能是由于我的hosts
文件引起的。
我猜测这与localhost
的配置有关:我不小心删除了ipv6关于localhost
的配置,
因此解决方案是在hosts
文件中添加一行::1 localhost
,然后一切都正常运行!
ps -C java -o pid
这将给你一个正在运行的程序列表。对于我来说,我有一个已经在后台运行的Java程序,所以我使用了
pkill java
然后重新启动您的IntelliJ即可。