我的情况

出现Disconnected from the target VM, address: '127.0.0.1:XXXXX', transport: 'socket'问题的情况是有很多种的,首先打下日志,debug起来,看下控制台的输出。我是打了两句日志(1.Starting ServiceOssApplication xxx 、2.The following profiles are active: dev)后直接Disconnected ...

经过掉头发的尝试之后终于解决了,现在将出现这种情况后的处理做一下汇总

1.处理端口占用

看下你的服务配置的端口号,比如我的是8110,查看一下该端口的网络连接情况。
netstat -ano|findstr 8110
如果该端口没有被占用,则什么都不会显示
如果该端口被占用,会有至少一个连接信息,一般找到是LISTENING的网络连接以及其后一列的进程号PID
使用命令:tasklist|findstr 你找到的PID,从进程列表中查找包含指定字符串的进程。
使用命令:taskkill /pid 你找到的PID -f,根据PID杀死进程

2.清理IDE缓存

File -> Invalidate Caches -> Invalidate and Restart
尝试reload maven,或者clean and install

3. IDEA 与 Maven 版本匹配

针对一些老项目 还是尽量采用 3.6.3版本,针对idea各个版本的兼容性就很兼容

  • IDEA 2022 兼容maven 3.8.1及之前的所用版本
  • IDEA 2021 兼容maven 3.8.1及之前的所用版本
  • IDEA 2020 兼容Maven 3.6.3及之前所有版本
  • IDEA 2018 兼容Maven3.6.1及之前所有版本

4.类名重复!!(我的坑)

项目中,自己编写的类,即使在不同包下,类名重复也会导致debug时出现Disconnected。我图一时之快,直接复制了某个Controller类到其他包下,导致了这个问题。
并且,如果模块是Maven构建,并且是该模块是其他模块的子模块,这个问题debug时不会提示!
我是将模块间的关系断开后debug时发现的,这时会有明确提示,出现了相同名字的类。