首页 文章

Spring启动错误

提问于
浏览
0

我在启动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 回答

  • 1

    运行 lsof -n -i4TCP:8080 以查找使用8080的进程的PID . 您将获得类似的输出:

    COMMAND   PID    USER   FD   TYPE NODE NAME
    java    72180 hisener  223u  IPv6 TCP *:http-alt (LISTEN)
    

    然后运行 kill -9 72180 来终止进程 . (将72180更改为PID) .

    现在,您应该能够运行Spring启动应用程序了 .


    对于windows,相当于上面的命令:

    查找使用端口的进程的PID: netstat -aon | find "8080"

    通过PID终止进程: taskkill /F /PID 72180

  • 0

    我假设您已经有一个正在侦听端口8080的进程 . 在进程表中查找java(或其他)进程并将其终止 . 有时在 spring 启动不会停止并在后台运行时会发生这种情况

相关问题