idea编译时Abnormal build process termination: ..........Connection refused: no further information: /127.0.0.1:57314 Caused by: java.net.ConnectException: Connection refused: no further information

先说问题:

 1.在idea打开新工程的时候 有概率出现window的防火墙弹窗,提示是否允许java.exe通过防火墙 但这个时候你无论是否允许通过 接下的idea的编译都将报错

 2.感觉是防火墙的问题 结果关闭防火墙,并允许应用通过防火墙,都试过之后发现并没什么用..

 3.重启电脑后,再次进入idea,可正常编译

 

结论:当你排除了防火墙,JVM内存等等网上能找到的绝大多数方法后仍然不行的话,看下你idea的监听的ip与端口

  idea里很多进程 内存占用最多的进程就是目标进程

  通过PID找到查看对应的监听ip与端口  命令行内输入  netstat -ano | findStr 57000(57000为PID)

  得到

  TCP 192.168.227.178:57314 0.0.0.0:0 LISTENING 57000
  TCP 192.168.227.178:63342 0.0.0.0:0 LISTENING 57000

 

  可以看到 在idea编译时的报错内容中有一行为 Connection refused: no further information: /127.0.0.1:57314

  表示的意思是无法连接到127.0.0.1:57314

 

  通过PowerShell中输入检查tcp连接命令 Test-NetConnection -ComputerName 127.0.0.1 -Port 57314

  得到了错误信息:  警告: TCP connect to (127.0.0.1 : 57314) failed

  而当输入检查tcp连接命令Test-NetConnection -ComputerName  192.168.227.178 -Port 57314

  得到了连接正常的返回

  

  注意只看LISTENING 不要看 ESTABLISHED

  这样idea编译报错的原因就显而易见了:idea启动时进程监听的ip不是其默认的127.0.0.1 而是一个192开头的地址,因此,java.exe在连接idea时通信失败,更不要说编译了

  

解决方法:

  检查你的电脑上是否有运行能够干扰本地连接的应用,比如一些安全软件,代理,连接公司内网的VPN等等.. 

  把这些软件关掉,然后彻底关闭idea 重新启动。

  这时再查看idea进程的监听ip为:netstat -ano | findStr 新的PID

  TCP 127.0.0.1:49210 0.0.0.0:0 LISTENING 新的PID
  TCP 127.0.0.1:49210 127.0.0.1:49275 ESTABLISHED 新的PID
  TCP 127.0.0.1:63342 0.0.0.0:0 LISTENING 新的PID

 

  果然,LISTENING 的ip从192开头变成了127.0.0.1  idea也能正常的编译了

  那若是必须使用以上的应用该怎么办呢?答案是先将idea中需要使用到的工程启动,需要开几个工程就new几个window (就是那个Open Project 里的 new window)  然后再将需要使用的软件开启,在这种情况下,已经打开的工程是不会受到干扰的。

 

注:本方法在解决该问题的尝试过程中优先级很低,请先确认并非为常见的防火墙问题后,再尝试检查是否为LISTENING 的ip地址问题..

  

 

posted @ 2024-02-01 22:02  音无彩名  阅读(862)  评论(0)    收藏  举报