在安装和配置tomcat的过程中,出现了tomcat启动失败的问题。
21-oct-2022 13:41:57.148 严重 [main] org.apache.catalina.util.lifecyclebase.handlesubclassexception 初始化组件[connector[http/1.1-8080]]失败。
org.apache.catalina.lifecycleexception: 协议处理程序初始化失败
at org.apache.catalina.connector.connector.initinternal(connector.java:1055)
at org.apache.catalina.util.lifecyclebase.init(lifecyclebase.java:136)
at org.apache.catalina.core.standardservice.initinternal(standardservice.java:556)
at org.apache.catalina.util.lifecyclebase.init(lifecyclebase.java:136)
at org.apache.catalina.core.standardserver.initinternal(standardserver.java:1045)
at org.apache.catalina.util.lifecyclebase.init(lifecyclebase.java:136)
at org.apache.catalina.startup.catalina.load(catalina.java:747)
at org.apache.catalina.startup.catalina.load(catalina.java:769)
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.apache.catalina.startup.bootstrap.load(bootstrap.java:305)
at org.apache.catalina.startup.bootstrap.main(bootstrap.java:475)
caused by: java.net.bindexception: address already in use: bind
at sun.nio.ch.net.bind0(native method)
at sun.nio.ch.net.bind(net.java:433)
at sun.nio.ch.net.bind(net.java:425)
at sun.nio.ch.serversocketchannelimpl.bind(serversocketchannelimpl.java:223)
at org.apache.tomcat.util.net.nioendpoint.initserversocket(nioendpoint.java:246)
at org.apache.tomcat.util.net.nioendpoint.bind(nioendpoint.java:201)
at org.apache.tomcat.util.net.abstractendpoint.bindwithcleanup(abstractendpoint.java:1192)
at org.apache.tomcat.util.net.abstractendpoint.init(abstractendpoint.java:1205)
at org.apache.coyote.abstractprotocol.init(abstractprotocol.java:583)
at org.apache.coyote.http11.abstracthttp11protocol.init(abstracthttp11protocol.java:79)
at org.apache.catalina.connector.connector.initinternal(connector.java:1052)
... 13 more
出现这个问题的原因是tomcat的默认端口8080被其他线程占用,因此解决这个问题可以采取关掉占用8080端口的线程的方法,或者采取更改tomcat的端口的方法。
方法一(关掉占用8080端口的线程)
1、win+r 打开cmd, 输入命令: netstat -ano
netstat -ano

2、输入命令, 查找项目配置的端口号对应的tcp号(最后一列的数字) netstat -ano|findstr 8080
netstat -ano|findstr 8080

3、终止进程 taskkill /f /t /im 对应的进程
taskkill /f /t /im 对应的进程

出现该问题的原因是因为权限不够,可以通过搜索cmd,用管理员权限打开,然后输入命令终止进程。
方法二(更改tomcat的端口)
1)找到tomcat目录/conf/server.xml

2)修改port的值,将port端口的值修改为80

启动tomcat
1、运行startup.bat文件启动tomcat
startup.bat

启动成功!


2、浏览器访问测试
端口8080:在浏览器中输入 http://localhost:8080/ 进行访问测试。
端口80:在浏览器中输入 http://127.0.0.1:80 或 http://127.0.0.1 进行访问测试。
最终成功启动。

到此这篇关于解决tomcat启动失败:严重 [main] org.apache.catalina.util.lifecyclebase.handlesubclassexception 初始化组件失败的文章就介绍到这了,更多相关tomcat启动 初始化组件失败内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论