java - Spring启动启动报错

标签 java spring-boot

启动我的 spring-boot 应用程序时出现以下错误。这是我的第一个 spring-boot 项目。因此,我不确定该错误以及如何修复它。

<小时/>

应用程序无法启动

<小时/>

描述:

配置为监听端口 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

最佳答案

运行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 Boot 应用程序。

<小时/>

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

查找使用端口的进程的 PID:netstat -aon |找到“8080”

通过PID杀死进程:taskkill/F/PID 72180

关于java - Spring启动启动报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50078572/

相关文章:

spring-mvc - 为什么spring-boot应用程序不需要@EnableWebMvc

java - 在 Java 中展平 XML 文档

java - 将 Dataset<Row> 中的值获取到 .txt 文件中(使用 Java)

java - fragment 消失

java - Spring Boot 和多个数据库

java - 如何解决 "Handling error: InvalidGrantException, Bad credentials"

java - Spring 中使用 Pagination/Page 的表别名中的 JPA 未知列

java - 将 SecurityContextHolder.setContext(...) 设置为模拟,即使使用 @DirtiesContext 也会传递到不同的测试类

java类调用/调用jsp文件

java - 如何判断 JDK 类是 native 实现的还是在 Java 代码中实现的?