我在启动spring-boot应用程序时遇到以下错误 . 这是我的第一个 Spring 季启动项目 . 所以,我不确定错误以及如何解决它 .
应用程序未能启动
描述:
配置为侦听端口8080的Tomcat连接器无法启动 . 端口可能已在使用中,或者连接器可能配置错误 .
行动:
验证连接器的配置,识别并停止正在侦听端口8080的任何进程,或将此应用程序配置为侦听另一个端口 .
2018-04-28 21:42:16.248 INFO 13196 --- [lication.main()] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@57ac5b74: startup date [Sat Apr 28 21:42:11 IST 2018]; root of context hierarchy
2018-04-28 21:42:16.249 INFO 13196 --- [lication.main()] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown
[WARNING]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.maven.RunMojo$LaunchRunner.run(RunMojo.java:423)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.boot.context.embedded.tomcat.ConnectorStartFailedException: Connector configured to listen on port 8080 failed to start
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.checkThatConnectorsHaveStarted(TomcatEmbeddedServletContainer.java:222)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:198)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
at com.journaldev.elasticsearch.Elastic6Application.main(Elastic6Application.java:12)
... 6 more
2 回答
运行
lsof -n -i4TCP:8080
以查找使用8080的进程的PID . 您将获得类似的输出:然后运行
kill -9 72180
来终止进程 . (将72180更改为PID) .现在,您应该能够运行Spring启动应用程序了 .
对于windows,相当于上面的命令:
查找使用端口的进程的PID:
netstat -aon | find "8080"
通过PID终止进程:
taskkill /F /PID 72180
我假设您已经有一个正在侦听端口8080的进程 . 在进程表中查找java(或其他)进程并将其终止 . 有时在 spring 启动不会停止并在后台运行时会发生这种情况