使用Maven与Eclipse调试Spring Boot应用时远程VM连接被拒绝问题
问题原因汇总
- Spring Boot Maven插件参数不匹配:2.0及以上版本的Spring Boot Maven插件已经废弃了
run.jvmArguments配置项,你使用的旧参数无法传递给JVM,导致调试端口5005根本没有开启,是该问题的最高发原因。 - JDK版本导致的地址绑定限制:JDK9及以上版本默认将调试端口绑定到本地回环地址
127.0.0.1,如果你是跨机器调试,外部请求会被直接拒绝,需要显式指定允许所有地址访问。 - 端口占用或应用未正常启动:首先确认5005端口没有被其他进程占用,其次检查Spring Boot应用启动日志,确认应用正常完成启动没有提前崩溃退出。
- 网络规则拦截:跨机器调试场景下,需要确认应用所在服务器的防火墙、云服务器安全组已经放通5005端口的入站请求。
修复方案
- 替换正确的启动命令,适配新版本插件和高版本JDK:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005"
- 应用启动完成后,先本地验证端口是否正常开放:
- Windows环境执行:
netstat -ano | findstr 5005 - Linux/macOS环境执行:
lsof -i:5005
- Windows环境执行:
- 验证Eclipse调试配置:确认连接类型为
Standard (Socket Attach),IP、端口填写与应用配置的调试地址一致。
内容的提问来源于stack exchange,提问作者gunixr
相关产品推荐
相关产品推荐

