创建Spring Boot应用启动报错求助:java.net.MalformedURLException异常
解决Spring Boot启动时的Local host name unknown错误
这问题我之前帮同事排查过,大概率是本地主机名解析出问题了,Java没法正确识别你的机器hostname对应的IP。下面几个解决方案你可以挨个试试:
1. 检查并修复hosts文件配置
这是最常见的原因,hosts文件负责本地域名解析,缺失正确的映射会导致Java报错:
- 找到系统的hosts文件:
- Windows:
C:\Windows\System32\drivers\etc\hosts - Linux/macOS:
/etc/hosts
- Windows:
- 用文本编辑器打开(Windows需要管理员权限,Linux/macOS用
sudo),确保里面包含以下内容:127.0.0.1 localhost ::1 localhost 127.0.0.1 你的机器主机名 # 替换成实际的主机名,可通过`hostname`命令查看 - 保存文件后,重启你的IDE和Spring Boot应用。
2. 临时指定Java的hostname参数
如果不想修改hosts文件,可以直接在IDE的启动配置里强制指定hostname:
- 在Eclipse/STS中,打开你的Spring Boot应用的Run Configuration
- 切换到
Arguments标签页,在VM arguments输入框中添加:-Djava.net.preferIPv4Stack=true -Djava.net.hostname=localhost - 保存配置后重新启动应用。
3. 验证主机名解析是否正常
先确认你的系统本身能正确解析主机名:
- 打开命令行终端,输入
ping localhost,检查是否能正常返回127.0.0.1的响应 - 再输入
ping 你的机器主机名,如果出现请求超时,说明解析确实有问题,回到第一步修复hosts文件。
4. 检查网络设置
有时候网络配置异常也会导致解析失败:
- 确保你的网络连接正常,没有禁用IPv4(部分系统默认禁用IPv4会影响本地解析)
- 可以尝试重置网络:Windows执行
netsh winsock reset,Linux/macOS根据发行版重启网络服务(比如sudo systemctl restart NetworkManager)
内容的提问来源于stack exchange,提问作者nikola.93.nn
相关产品推荐
相关产品推荐

