You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Open JDK17后同网段远程设备无法访问Spring Boot应用

排查Spring Boot升级JDK17后无法访问的问题

1. 确认应用绑定的IP地址

JDK17的网络栈默认行为和JDK8有差异,即便添加了-Djava.net.preferIPv4Stack=true,也要验证应用实际绑定的地址:

  • 启动应用后,执行命令 netstat -ano | findstr :<你的应用端口>,查看监听IP是0.0.0.0(允许所有IPv4设备访问)、127.0.0.1(仅本地可访问)还是IPv6地址。
  • 如果绑定的是127.0.0.1,需强制指定应用绑定到所有IPv4地址:
    • 在application.properties中添加配置:
      server.address=0.0.0.0
      
    • 或者启动Jar时追加参数:--server.address=0.0.0.0

2. 确保启动应用使用的是OpenJDK17

Windows双JDK环境下,容易出现启动时默认用JDK8的情况:

  • 执行java -version确认当前终端的JDK版本,若显示JDK8,需切换到OpenJDK17的bin目录执行启动命令,示例:
    C:\path\to\openjdk17\bin\java -Djava.net.preferIPv4Stack=true -jar your-app.jar --server.address=0.0.0.0
    

3. 排查防火墙与安全软件拦截

JDK17可能被Windows防火墙或第三方安全软件拦截网络请求:

  • 临时关闭Windows防火墙测试是否能访问,若可以,手动添加允许该应用通过防火墙的规则。
  • 检查杀毒软件是否拦截了Java程序的对外网络连接。

4. 核对应用启动日志

启动时重点查看日志中的关键信息:

  • 是否有Tomcat started on port(s): <端口号> (http) with context path ''的输出,且绑定地址为0.0.0.0。
  • 是否存在端口占用、地址绑定失败等异常日志。

5. 检查端口占用情况

用netstat -ano | findstr :<你的应用端口>查看端口对应的PID,通过任务管理器确认该PID对应的程序是否为你的Spring Boot应用,若被其他程序占用则更换端口。

内容的提问来源于stack exchange,提问作者Mohsin Shabbir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:16:02