Spring boot &引用;已在使用的地址:bind";运行Spring启动应用程序时
我在运行示例Spring引导应用程序时遇到问题。 当我尝试运行它时,会出现以下错误:Spring boot &引用;已在使用的地址:bind";运行Spring启动应用程序时,spring-boot,Spring Boot,我在运行示例Spring引导应用程序时遇到问题。 当我尝试运行它时,会出现以下错误: java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Unknown Source) at sun.nio.ch.Net.bind(Unknown Source)
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:473)
o.apache.catalina.core.StandardService : Failed to initialize connector [Connector[org.apache.coyote.http11.Http11NioProtocol-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[org.apache.coyote.http11.Http11NioProtocol-8080]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:335)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:57)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:52)
at
java.net.BindException:地址已在使用中:bind
位于sun.nio.ch.Net.bind0(本机方法)
位于sun.nio.ch.Net.bind(未知源)
位于sun.nio.ch.Net.bind(未知源)
位于sun.nio.ch.serversocketchannelpl.bind(未知源)
位于sun.nio.ch.ServerSocketAdaptor.bind(未知源)
位于org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:473)
o、 apache.catalina.core.StandardService:未能初始化连接器[connector[org.apache.coyote.http11.Http11NioProtocol-8080]]
org.apache.catalina.LifecycleException:未能初始化组件[Connector[org.apache.coyote.http11.Http11NioProtocol-8080]]
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
位于org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
位于org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
位于org.apache.catalina.startup.Tomcat.start(Tomcat.java:335)
位于org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:57)
位于org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.(TomcatEmbeddedServletContainer.java:52)
在
“地址已在使用”表示端口8080上已运行另一个应用程序。在启动应用程序或让应用程序在其他端口上运行之前,请使用操作系统工具查找并结束该进程。如果在启动应用程序中使用嵌入式服务器,则可以指定以下属性:
server.port=8085
当然,您可以选择您想要的任何端口。在第一次运行时,是否正常?然后再运行一次,它出错了吗? 如果正确,您需要在再次运行之前停止服务。 这里是停止的方法。 单击“停止”按钮,如下图所示
您的服务器似乎已经启动了。如果您使用的是基于linux的系统,请在终端中键入以下命令,以检查系统上哪个端口处于活动状态 “ps-ef | grep 8080”(或提及的任何端口) 现在,如果希望在同一端口上运行服务器,则需要终止此端口 杀死-98080 哇!!再次尝试启动应用程序,它将正常工作 额外: 你会来找我抱怨一个重要的应用程序已经在上面提到的端口(8080)上监听,你不想杀死它。没问题 在资源文件夹中创建application.properties文件,并将端口更改为您喜欢的任何端口
server.port = 8081
哇!!你做到了!!:)
如果需要进一步澄清,请告诉我 两种可能性
P1.另一个应用程序正在使用端口8080
解决方案:-
- a、 停止该应用程序并释放应用程序的8080端口
- b、 更改应用程序服务器端口,以便创建名为
资源文件夹中的application.properties并添加属性
server.port=8085
- a。对于这种情况,非常简单的解决方案是停止当前 正在运行应用程序并重新运行它
- b、 如果要运行应用程序的多个实例,请保留 当前应用程序正在运行如上所述的更改服务器端口,以及 运行新实例将在另一个端口上运行的应用程序
java.exe
JVM进程。确保没有其他无法停止的基于JVM的服务正在运行。(如Kafka服务器、Apache Storm等)
Tomcat实例就是其中之一。在Eclipse情况下,检查“进度”窗口(Windows>ShowView>Progress)中是否有项目运行 停止正在运行的进程,该进程可能正在锁定所需的端口。G
open command prompt as Administrator.
--> netstat -ano | findstr :<PORT>
netstat -ano | findstr :8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10568
TCP [::]:8080 [::]:0 LISTENING 10568
-->taskkill /PID <PID> /F
taskkill /PID 10568 /F