Intellij Idea Maven“无法重新连接”错误

Posted

技术标签:

【中文标题】Intellij Idea Maven“无法重新连接”错误【英文标题】:Intellij Idea Maven 'cannot reconnect' error 【发布时间】:2015-08-17 08:47:30 【问题描述】:

也许你可以帮助我 在 Intellij Idea 13 打开我的项目时,我遇到了一个奇怪的 apache maven 问题。 当项目打开时,我在外部库部分没有库。在所有来自 diff 模块的 pom.xml 文件中,我看到错误“无法重新连接”。

我试图使缓存/重启想法无效,尝试使用 Maven 重新导入,但问题仍然存在。 但是,如果我执行 mvn clean install 并部署我的项目,一切正常。 我使用 Maven 3.2.3。和 Java 1.8。

Maven 设置:

添加了idea.log文件:

2015-06-03 11:54:24,585 [ 441715]   INFO -      #org.jetbrains.idea.maven - Cannot reconnect. 
java.lang.RuntimeException: Cannot reconnect.
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:98)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.resolveProject(MavenEmbedderWrapper.java:97)
    at org.jetbrains.idea.maven.project.MavenProjectReader.resolveProject(MavenProjectReader.java:462)
    at org.jetbrains.idea.maven.project.MavenProject.resolve(MavenProject.java:624)
    at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1215)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:42)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:131)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$100(MavenProjectsProcessor.java:28)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:107)
    at org.jetbrains.idea.maven.utils.MavenUtil$6.run(MavenUtil.java:440)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
Caused by: java.rmi.ServerError: Error occurred in server thread; nested exception is: 
    java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:351)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$254(TCPTransport.java:683)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/99407688.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
    at com.sun.proxy.$Proxy121.resolveProject(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.execution.rmi.RemoteUtil$2$1$1.compute(RemoteUtil.java:106)
    at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:167)
    at com.intellij.execution.rmi.RemoteUtil$2$1.invoke(RemoteUtil.java:102)
    at com.sun.proxy.$Proxy121.resolveProject(Unknown Source)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper$4.execute(MavenEmbedderWrapper.java:100)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper$4.execute(MavenEmbedderWrapper.java:97)
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:89)
    ... 16 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
    at org.apache.maven.wagon.providers.file.FileWagon.resolveDestinationPath(FileWagon.java:206)
    at org.apache.maven.wagon.providers.file.FileWagon.resourceExists(FileWagon.java:265)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:577)
    at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
2015-06-03 11:54:24,586 [ 441716]   WARN - ution.rmi.RemoteProcessSupport - Exception in thread "pool-6-thread-1" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils 
2015-06-03 11:54:24,586 [ 441716]   WARN - ution.rmi.RemoteProcessSupport - at org.apache.maven.wagon.providers.file.FileWagon.resolveDestinationPath(FileWagon.java:206) 

【问题讨论】:

我的猜测是你的 IntelliJ Maven 插件有问题,但是从命令行运行 Maven 没有问题。 @TimBiegeleisen - 您可以右键单击并在新选项卡中打开它。它足够大。 @MeetJoeBlack - 请检查 idea.log 并查看那里存在哪些错误详细信息。 您是否尝试过使用捆绑的 Maven 而不是命令行? puu.sh/iaG9U/bd94fce2ba.png 我的问题已通过更新 /etc/hosts 文件解决。 Refer this 【参考方案1】:

我遇到了同样的错误并像这样修复它:

    Ctrl+Alt+S 打开设置并导航到构建、执行、部署 |构建工具 |马文 |导入

    检查 JDK for Importer 并从下拉列表中更改您计算机上安装的确切版本的 JDK(例如:1.8.0.250)。

执行相同操作后会提示验证,之后,maven 将自动更新,项目将运行。

在我的例子中,当项目从存储库导入时,我做了同样的事情,因为机器中使用的 JDK 不同。当我们卸载IDE和JDK并安装IDE和不同版本的JDK时会发生这些情况,IDE会像以前一样自动获取机器中可用的项目但无法更改导入的JDK。

【讨论】:

这应该被标记为解决方案。 这对我有用一段时间,然后再次失败,我需要再次切换(切换到任何选项都有效)。问题似乎出在其他地方,但您可以不时切换 JDK。 令人惊讶的是,即使它已经正确设置,这实际上对我有用。我刚刚从下拉列表中再次选择它,按下应用和确定,我就可以下载了。奇怪!【参考方案2】:

我通过将本地 Maven 3.3.9 更改为 Idea Bundle Maven3 来解决此问题。

【讨论】:

你是怎么做到的? @parsecer 首选项 -> 构建、执行、部署 -> 构建工具 -> Maven -> Maven 主目录(下拉)。这个解决方案也对我有用。 我已经有捆绑的,但仍然收到此错误。【参考方案3】:

在这种情况下,单击重新加载所有 Maven 项目对我有帮助。

【讨论】:

如果我在使用 maven 时遇到问题,这是我在谷歌搜索之前考虑的默认操作之一,但对我的情况没有帮助 对我来说,问题发生在我点击图标之后 再点击一次。【参考方案4】:

文件 -> 无效缓存

在 IntelliJ 似乎陷入困境的情况下也可能会有所帮助。

【讨论】:

没有别的东西对我有用,除了这个......点击无效缓存......它立即从上到下重新加载所有内容,就像新的一样......我为此努力了几个小时,但这个解决方案帮助我解决了这个问题......你是一个救世主,谢谢【参考方案5】:

我收到了这个错误,我通过以下步骤在 IntelliJ 中修复了这个错误:

1] 关闭所有正在运行的应用程序(如果有)2] 重新导入/重新加载 pom.xml(右键单击 pom.xml -> 选择 maven option->reimport/reload project)3] 然后运行您的应用程序(即主文件) 按照这个,我不需要手动删除 .m2 文件夹

【讨论】:

【参考方案6】:

我通过删除来自~/.m2 中的传输错误的.lastUpdated 文件解决了这个问题

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer"  \; -print -exec rm  \;

【讨论】:

以上是关于Intellij Idea Maven“无法重新连接”错误的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA中配置Maven

IntelliJ IDEA设置maven

IntelliJ IDEA使用心得之Maven项目篇

使用IntelliJ Idea创建Maven项目

IntelliJ IDEA 配置Maven

IntelliJ IDEA 导入多个maven项目