配置为侦听端口 8080 的 Tomcat 连接器失败

Posted

技术标签:

【中文标题】配置为侦听端口 8080 的 Tomcat 连接器失败【英文标题】:The Tomcat connector configured to listen on port 8080 failed 【发布时间】:2018-11-05 21:44:00 【问题描述】:

说明:

配置为侦听端口 8080 的 Tomcat 连接器无法启动。该端口可能已在使用中,或者连接器可能配置错误。

你看到了控制器类

@Controller
public class HomeController implements ErrorController 


    @RequestMapping("/v1")
    public String home()
    
        return "index";
    


     private static final String PATH = "/error";

        @RequestMapping(value = PATH)
        public String error() 
            return "Error handling kova";
        

        @Override
        public String getErrorPath() 
            return PATH;
        
//CLASS

我在文件中添加了以下属性。

application.properties 添加

server.port=8087

并且错误输出如下所示: 我在更改端口号时遇到问题。

错误端口问题

 org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8080]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:256) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:198) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:300) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) [spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.1.0.BUILD-SNAPSHOT.jar:2.1.0.BUILD-SNAPSHOT]
    at com.userfront.UserFront1Application.main(UserFront1Application.java:10) [classes/:na]
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1020) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    ... 13 common frames omitted
Caused by: java.net.BindException: Address already in use: bind
    at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_171]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_171]
    at sun.nio.ch.Net.bind(Unknown Source) ~[na:1.8.0_171]
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) ~[na:1.8.0_171]
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) ~[na:1.8.0_171]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1150) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:591) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1018) ~[tomcat-embed-core-8.5.31.jar:8.5.31]
    ... 14 common frames omitted

2018-05-26 23:19:10.439  INFO 1460 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2018-05-26 23:19:10.460  INFO 1460 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-05-26 23:19:10.468 ERROR 1460 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port.

2018-05-26 23:19:10.470  INFO 1460 --- [           main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@1761df8: startup date [Sat May 26 23:19:05 EEST 2018]; root of context hierarchy
2018-05-26 23:19:10.473  INFO 1460 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

【问题讨论】:

可以使用8080-netstat-nlp|找到进程grep 8080 然后执行 kill -9 或在 Windows 中只需转到任务管理器并找到端口 不知道在windows系统下怎么做。你能帮忙吗 ?如何关闭端口? 让我们在将端口更改为 8087 后显示您的控制台日志! 尝试做java -Dserver.port=8087 -jar name-of-file.jar 这绝对应该尝试在端口 8087 上启动它。 【参考方案1】:

打开命令提示符并运行netstat -aon | findstr 0.0:80 以查找使用端口 8080 的 UID。 然后打开任务管理器,选择详细信息,找到CMD中显示的端口并结束任务。

【讨论】:

当我想离开(或不得不离开)流程直播时,我该怎么办?我有必要的服务在 8080 上运行。【参考方案2】:

有一个red icon to stop the process。

只需点击它,然后点击播放或运行图标。这将杀死端口并重新启动

【讨论】:

以上是关于配置为侦听端口 8080 的 Tomcat 连接器失败的主要内容,如果未能解决你的问题,请参考以下文章

https 后的 Spring Boot:配置为侦听端口 8444 的 Tomcat 连接器无法启动。

在Eclipse中的Spring Boot应用程序,配置为侦听端口XXXX的Tomcat连接器无法启动

使用 Spring Boot Java 端口 8080 上的 Tomcat 失败

配置为侦听端口 80 的 Tomcat 连接器无法启动

spring boot 启动错误

要配置为侦听端口80和8080的VM实例组