如何解决报错:java.net.BindException:无法指定被请求的地址问题

 更新时间:2024年10月11日 10:26:00   作者:洛阳山  
在Linux虚拟机上安装并启动Tomcat时遇到启动失败的问题,通过检查端口及配置文件未发现异常,后发现/etc/hosts文件中缺少localhost的映射,添加后重启Tomcat成功,Tomcat启动时会检查localhost的IP映射,缺失或错误都可能导致启动失败

报错:java.net.BindException:无法指定被请求的地址问题

今天在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有错误时,都会报这个错误。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现动态获取文件的绝对路径

    Java实现动态获取文件的绝对路径

    我们知道在 Java 中读取一些配置文件信息,是在开发中十分常用的要求。这篇文章就来和大家聊聊Java如何实现动态获取文件的绝对路径,感兴趣的可以了解一下
    2023-02-02
  • idea中MavenWeb项目不能创建Servlet的解决方案

    idea中MavenWeb项目不能创建Servlet的解决方案

    这篇文章主要介绍了idea中MavenWeb项目不能创建Servlet的解决方案,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 浅析Java中print、printf、println的区别

    浅析Java中print、printf、println的区别

    以下是对Java中print、printf、println的区别进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • Java使用线程池的优势有哪些

    Java使用线程池的优势有哪些

    这篇文章主要介绍了Java使用线程池的优势有哪些,帮助大家更好的理解和掌握java池化技术,感兴趣的朋友可以了解下
    2020-09-09
  • JAVA之读取properties时路径的注意问题

    JAVA之读取properties时路径的注意问题

    这篇文章主要介绍了JAVA之读取properties时路径的注意问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Springboot使用jsp具体案例解析

    Springboot使用jsp具体案例解析

    这篇文章主要介绍了Springboot使用jsp具体案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Spring AOP如何在注解上使用SPEL表达式注入对象

    Spring AOP如何在注解上使用SPEL表达式注入对象

    这篇文章主要介绍了Spring AOP如何在注解上使用SPEL表达式注入对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 深入理解Java基础之try-with-resource语法糖

    深入理解Java基础之try-with-resource语法糖

    这篇文章主要介绍了深入理解Java基础之try-with-resource语法糖,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • SpringBoot配置文件中常用配置属性详解(application.properties/application.yml)

    SpringBoot配置文件中常用配置属性详解(application.properties/application.y

    Spring Boot 的一大优势就是通过简单的配置文件即可快速定制应用行为,而无需编写大量 XML 配置或 Java 代码,下面我们就来看看application.properties和application.yml作为核心配置文件的常见属性吧
    2025-07-07
  • 详解JAVA 内存管理

    详解JAVA 内存管理

    这篇文章主要介绍了JAVA 内存管理的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论