前言 今天在使用工作过程中,遇到了一个idea开发工具先关的问题,也是因为解决这个问题耽误了正常搬砖的时间,同时也由于远程办公网速比较卡的原因,导致心情比较心烦气躁,所有针对这个心烦的问题,在这里总结一下,给后续自己提个醒;
问题描述: 在正常工作中,idea工具突然打不开(file->open)项目了,试了不同的项目都打不开,之前开发工具(功能)都是好好的(这句话是周围同事在定位问题时经常说的一句话),这个问题也是在工作中第一次遇到;
项目:springboot+maven
解决过程: 1)首先想到的可能存在的问题点是使用idea打开的项目名都相等的问题;但是之前打开相同名称的项目是没有问题的,虽然知道是这个原因的可能性不大,但是抱着宁可错杀一千不放过一个的原则,尝试了一下; a、打开.idea目录 -> .name文件 ,把.name里面的名字改掉;
b、file->Invalidate Caches 清理缓存,重启idea;
结果:预期所料,问题还存在
2)修改/etc/hosts文件 分析idea open项目日志 查询日志 点击【Help-Show Log in Explorer】
首先看到的日志报错
Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: java.net.ConnectException: Connection refused: connect at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at com.intellij.execution.rmi.RemoteProcessSupport.a(RemoteProcessSupport.java:257) at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:232) at com.intellij.execution.rmi.RemoteProcessSupport.b(RemoteProcessSupport.java:255) at com.intellij.execution.rmi.RemoteProcessSupport.acquire(RemoteProcessSupport.java:161) at org.jetbrains.idea.maven.server.MavenServerManager.create(MavenServerManager.java:172) ... 36 more at com.intellij.execution.rmi.RemoteProcessSupport.a(RemoteProcessSupport.java:257) at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:232) at com.intellij.execution.rmi.RemoteProcessSupport.b(RemoteProcessSupport.java:255) at com.intellij.execution.rmi.RemoteProcessSupport.acquire(RemoteProcessSupport.java:161) at org.jetbrains.idea.maven.server.MavenServerManager.create(MavenServerManager.java:172) ... 36 more at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) ... 45 more 2022-11-25 18:36:22,336 [ 105752] WARN - ution.rmi.RemoteProcessSupport - java.rmi.NotBoundException: _DEAD_HAND_
通过查询 Connection refused to host: localhost; nested exception is: 报错原因,网上更多的是本地/etc/hosts配置localhost错误导致的,虽然知道这个原因的概率也很小,但是也尝试修改了一下;
进入C:\Windows\System32\drivers\etc文件夹下,打开hosts文件,新增127.0.0.1 localhost配置,如下:
idea重新open project,同样失败;
3)maven 访问仓库网络问题
继续分析日志,又发现新的日志
2022-11-25 18:45:08,027 [ 631443] WARN - ution.rmi.RemoteProcessSupport - at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) 2022-11-25 18:45:08,027 [ 631443] WARN - ution.rmi.RemoteProcessSupport - at com.sun.proxy.$Proxy1.ping(Unknown Source) 2022-11-25 18:45:08,027 [ 631443] WARN - ution.rmi.RemoteProcessSupport - at com.intellij.execution.rmi.RemoteServer.start(RemoteServer.java:90) 2022-11-25 18:45:08,027 [ 631443] WARN - ution.rmi.RemoteProcessSupport - at org.jetbrains.idea.maven.server.RemoteMavenServer.main(RemoteMavenServer.java:22) 2022-11-25 18:45:08,027 [ 631443] WARN - ution.rmi.RemoteProcessSupport - Caused by: java.net.ConnectException: Connection refused: connect
发现日志中很多和远程调用相关的日常日志,而且和maven有关系,所以就考虑是不是请求阿里maven仓库异常导致的,突然想到整个开发环境今天和以往唯一不同的是设置了其它网络的代理服务(在定位其它局域网问题时,通过Proxifier代理工具访问其它的局域网);
顺着这个思路,我们先把Proxifier代理服务先关闭掉
重启idea,open project(项目),果然,项目加载成功了!
由此可知,远端的maven仓库访问异常,也会导致idea open项目异常,即idea开不开项目的问题;