Tomcat 启动:StandardServer.await:create[localhost 8005]:java.net.BindException

本文详细解析了在Linux环境下安装Tomcat后遇到的启动失败问题,尤其关注因localhost未正确映射到本地IP导致的java.net.BindException错误。通过在/etc/hosts文件中添加localhost与本地IP的对应关系,成功解决了这一难题。

今天在linux虚拟机上装了tomcat,但是一直启动不了,查看日志,主要报错如下:


    严重: StandardServer.await: create[localhost:8005]:

    java.net.BindException: 无法指定被请求的地址

    at java.net.PlainSocketImpl.socketBind(Native Method)

    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)

    at java.net.ServerSocket.bind(ServerSocket.java:375)

    at java.net.ServerSocket.<init>(ServerSocket.java:237)

    at org.apache.catalina.core.StandardServer.await(StandardServer.java:444)

    at org.apache.catalina.startup.Catalina.await(Catalina.java:781)

    at org.apache.catalina.startup.Catalina.start(Catalina.java:727)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:4

    at java.lang.reflect.Method.invoke(Method.java:497)

    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)

用netstat -antp|grep 8005并没有结果出现,说明8005这个端口没有被占用,而且在server.xml这个文件中修改端口也没用,那就可以排除是端口的问题。

网上的资料说是IP绑定的问题,在/etc/hosts文件中记录了IP地址及其对应的主机名,在这个文件中并没有出现localhost这个关键字,加入以下内容,重启tomcat成功。

192.168.1.2(本机IP) localhost

tomcat在启动时,会自动获取所有localhost映射的IP,当localhost没有映射的IP或映射的IP有错误时,都会报这个错误。

"C:\Program Files\Java\jdk1.8.0_162\bin\java.exe" -Dcatalina.home=C:\Users\24256\4-tomcat8.5.75\apache-tomcat-8.5.75-windows-x64\apache-tomcat-8.5.75 -Dcatalina.base=C:\Users\24256\.SmartTomcat\Educational-administration-system-master -Djava.io.tmpdir=C:\Users\24256\.SmartTomcat\Educational-administration-system-master\temp -Djava.util.logging.config.file=C:\Users\24256\.SmartTomcat\Educational-administration-system-master\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -javaagent:C:\Users\24256\Desktop\2024\计算机\java\ideaIC-2024.2.1.win\lib\idea_rt.jar=60483:C:\Users\24256\Desktop\2024\计算机\java\ideaIC-2024.2.1.win\bin -Dfile.encoding=UTF-8 -classpath C:\Users\24256\4-tomcat8.5.75\apache-tomcat-8.5.75-windows-x64\apache-tomcat-8.5.75\bin\bootstrap.jar;C:\Users\24256\4-tomcat8.5.75\apache-tomcat-8.5.75-windows-x64\apache-tomcat-8.5.75\bin\tomcat-juli.jar org.apache.catalina.startup.Bootstrap start 24-Sep-2025 19:18:03.937 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.75 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jan 17 2022 22:07:47 UTC 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 8.5.75.0 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 10 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk1.8.0_162\jre 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 1.8.0_162-b12 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\24256\.SmartTomcat\Educational-administration-system-master 24-Sep-2025 19:18:03.939 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Users\24256\4-tomcat8.5.75\apache-tomcat-8.5.75-windows-x64\apache-tomcat-8.5.75 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=C:\Users\24256\4-tomcat8.5.75\apache-tomcat-8.5.75-windows-x64\apache-tomcat-8.5.75 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\24256\.SmartTomcat\Educational-administration-system-master 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=C:\Users\24256\.SmartTomcat\Educational-administration-system-master\temp 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\24256\.SmartTomcat\Educational-administration-system-master\conf\logging.properties 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -javaagent:C:\Users\24256\Desktop\2024\计算机\java\ideaIC-2024.2.1.win\lib\idea_rt.jar=60483:C:\Users\24256\Desktop\2024\计算机\java\ideaIC-2024.2.1.win\bin 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dfile.encoding=UTF-8 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]。 24-Sep-2025 19:18:03.940 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 24-Sep-2025 19:18:03.943 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 1.1.1l 24 Aug 2021] 24-Sep-2025 19:18:04.022 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 24-Sep-2025 19:18:04.225 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 24-Sep-2025 19:18:04.234 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 532 ms 24-Sep-2025 19:18:04.262 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 24-Sep-2025 19:18:04.262 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/8.5.75] 24-Sep-2025 19:18:04.267 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 正在部署部署描述符[C:\Users\24256\.SmartTomcat\Educational-administration-system-master\conf\Catalina\localhost\EducationalAdministrationSystemBasedOnSSM.xml]。 24-Sep-2025 19:18:04.441 警告 [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion 未知版本字符串 [6.0]。将使用默认版本。 24-Sep-2025 19:18:04.464 警告 [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion 未知版本字符串 [4.0]。将使用默认版本。 24-Sep-2025 19:18:06.634 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 2025-09-24 19:18:08 ERROR maxIdle is deprecated 24-Sep-2025 19:18:08.827 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor 部署描述符[C:\Users\24256\.SmartTomcat\Educational-administration-system-master\conf\Catalina\localhost\EducationalAdministrationSystemBasedOnSSM.xml]的部署已在[4,560]ms内完成 24-Sep-2025 19:18:08.829 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 24-Sep-2025 19:18:08.837 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 4602 ms http://localhost:8080/EducationalAdministrationSystemBasedOnSSM 24-Sep-2025 19:18:08.840 严重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.<init>(ServerSocket.java:237) at org.apache.catalina.core.StandardServer.await(StandardServer.java:414) at org.apache.catalina.startup.Catalina.await(Catalina.java:776) at org.apache.catalina.startup.Catalina.start(Catalina.java:722) 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.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) 24-Sep-2025 19:18:08.840 信息 [main] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"] 24-Sep-2025 19:18:08.976 信息 [main] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina] 24-Sep-2025 19:18:08.984 信息 [main] org.apache.coyote.AbstractProtocol.stop 正在停止ProtocolHandler ["http-nio-8080"] 24-Sep-2025 19:18:08.988 信息 [main] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"] 进程已结束,退出代码为 0
09-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值