首页 > 解决方案 > Tomcat 服务器无法分配请求的地址:连接

问题描述

我正在尝试运行 Spring Boot 应用程序,但嵌入式 Tomcat 不断出现错误。我尝试将端口更改为任何未使用的端口号。

附上大部分日志供您参考:

   Caused by: java.net.BindException: Cannot assign requested address: connect
        at java.base/sun.nio.ch.Net.connect0(Native Method) ~[na:na]
        at java.base/sun.nio.ch.Net.connect(Net.java:454) ~[na:na]
        at java.base/sun.nio.ch.Net.connect(Net.java:446) ~[na:na]
        at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648) ~[na:na]
        at java.base/java.nio.channels.SocketChannel.open(SocketChannel.java:194) ~[na:na]
        at java.base/sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(PipeImpl.java:127) ~[na:na]
        at java.base/sun.nio.ch.PipeImpl$Initializer.run(PipeImpl.java:76) ~[na:na]
        ... 35 common frames omitted

标签: springspring-boottomcat

解决方案


这可能是因为另一个进程正在使用您尝试过的两个端口。

您是否尝试列出正在使用的端口?

在 MacOS 上,您可以尝试在终端中运行它:

lsof -nP  | grep LISTEN

如果你使用的是 Windows,你可以在你的 powershell 中运行它:

Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess

推荐阅读