【问题标题】:Can't import maven project on macmac无法导入maven项目
【发布时间】:2020-07-23 20:40:23
【问题描述】:

我有一个可以在我的 windows 机器上成功导入的 maven 项目。但是使用相同的 settings.xml 和 pom.xml,我无法在我的 MAC 上导入它。 Unable to import maven project. See logs for details 错误不断出现。该项目依赖于一些私有存储库,地址在 settings.xml 中配置(因为 Windows 机器成功完成了这项工作)。这是我在导入时得到的一些日志:

2020-04-11 10:00:34,028 [ 407319]   WARN - ConfigurableExtensionPointUtil - ignore deprecated groupId: language for id: preferences.language.Kotlin.scripting 
2020-04-11 10:00:34,683 [ 407974]   INFO - j.ide.plugins.RepositoryHelper - using cached plugin list (updated at 2020/4/11, 9:54) 
2020-04-11 10:02:21,424 [ 514715]  ERROR -      #org.jetbrains.idea.maven - Cannot reconnect. 
java.lang.RuntimeException: Cannot reconnect.
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:82)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenEmbedderWrapper.java:64)
    at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1261)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:45)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:141)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$000(MavenProjectsProcessor.java:35)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor$1.run(MavenProjectsProcessor.java:110)
    at org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:482)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
    java.net.SocketException: Permission denied (Write failed)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:254)
    at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:217)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:162)
    at com.sun.proxy.$Proxy143.customize(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:167)
    at com.intellij.execution.rmi.RemoteUtil.access$400(RemoteUtil.java:38)
    at com.intellij.execution.rmi.RemoteUtil$1.lambda$invoke$0(RemoteUtil.java:151)
    at com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:45)
    at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:219)
    at com.intellij.execution.rmi.RemoteUtil$1.invoke(RemoteUtil.java:151)
    at com.sun.proxy.$Proxy143.customize(Unknown Source)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.doCustomize(MavenEmbedderWrapper.java:92)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.lambda$customizeForResolve$1(MavenEmbedderWrapper.java:65)
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76)
    ... 13 more
Caused by: java.net.SocketException: Permission denied (Write failed)
    at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
    at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
    at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
    at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
    at java.base/java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1829)
    at java.base/java.io.ObjectOutputStream.flush(ObjectOutputStream.java:722)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.releaseOutputStream(StreamRemoteCall.java:120)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:238)
    ... 31 more
2020-04-11 10:02:21,427 [ 514718]  ERROR -      #org.jetbrains.idea.maven - IntelliJ IDEA 2019.3.4  Build #IU-193.6911.18 
2020-04-11 10:02:21,427 [ 514718]  ERROR -      #org.jetbrains.idea.maven - JDK: 11.0.6; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o 
2020-04-11 10:02:21,427 [ 514718]  ERROR -      #org.jetbrains.idea.maven - OS: Mac OS X 
2020-04-11 10:02:21,427 [ 514718]  ERROR -      #org.jetbrains.idea.maven - Last Action: Maven.ReimportProject 
2020-04-11 10:02:27,780 [ 521071]  ERROR -      #org.jetbrains.idea.maven - Cannot reconnect. 
java.lang.RuntimeException: Cannot reconnect.
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:82)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenEmbedderWrapper.java:64)
    at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1261)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:45)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:141)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$000(MavenProjectsProcessor.java:35)
    at org.jetbrains.idea.maven.project.MavenProjectsProcessor$1.run(MavenProjectsProcessor.java:110)
    at org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:482)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:238)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
    java.net.SocketException: Permission denied (Write failed)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:254)
    at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:217)
    at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:162)
    at com.sun.proxy.$Proxy143.customize(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:167)
    at com.intellij.execution.rmi.RemoteUtil.access$400(RemoteUtil.java:38)
    at com.intellij.execution.rmi.RemoteUtil$1.lambda$invoke$0(RemoteUtil.java:151)
    at com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:45)
    at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:219)
    at com.intellij.execution.rmi.RemoteUtil$1.invoke(RemoteUtil.java:151)
    at com.sun.proxy.$Proxy143.customize(Unknown Source)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.doCustomize(MavenEmbedderWrapper.java:92)
    at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.lambda$customizeForResolve$1(MavenEmbedderWrapper.java:65)
    at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76)
    ... 13 more
Caused by: java.net.SocketException: Permission denied (Write failed)
    at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
    at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
    at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
    at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
    at java.base/java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1829)
    at java.base/java.io.ObjectOutputStream.flush(ObjectOutputStream.java:722)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.releaseOutputStream(StreamRemoteCall.java:120)
    at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:238)
    ... 31 more
2020-04-11 10:02:27,781 [ 521072]  ERROR -      #org.jetbrains.idea.maven - IntelliJ IDEA 2019.3.4  Build #IU-193.6911.18 
2020-04-11 10:02:27,781 [ 521072]  ERROR -      #org.jetbrains.idea.maven - JDK: 11.0.6; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o 
2020-04-11 10:02:27,781 [ 521072]  ERROR -      #org.jetbrains.idea.maven - OS: Mac OS X 
2020-04-11 10:02:27,781 [ 521072]  ERROR -      #org.jetbrains.idea.maven - Last Action: Maven.ReimportProject 
2020-04-11 10:02:29,890 [ 523181]   INFO - rationStore.ComponentStoreImpl - Saving Project (name=dmp, containerState=ACTIVE, componentStore=/Users/11113523/Code/dmp) RunManager took 24 ms 

我认为主要问题是Caused by: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: java.net.SocketException: Permission denied (Write failed)。但我无法弄清楚从哪里拒绝了哪些许可。有人可以告诉我如何使它正确吗?

【问题讨论】:

  • 您是否有防病毒/防火墙或其他可能阻止 IDE 连接的软件? IDE 需要连接到环回接口 (localhost) 以进行 IPC 通信。还要检查运行 IDE 的用户是否对 IDE config/caches 目录具有读/写权限。
  • 我关闭了mac系统防火墙并赋予IDEA全盘访问权限。将您提到的目录的权限更改为所有用户的读写权限。错误仍然出现。
  • 某些软件或操作系统策略会阻止 IDE Maven 导入 java 进程。您应该研究一下这个环境问题。尝试完整的 IDE 重新安装。查看操作系统策略。尝试注释掉/etc/hosts文件中的::1 localhost

标签: java macos maven intellij-idea


【解决方案1】:

我可以在日志第三行看到“#org.jetbrains.idea.maven - 无法重新连接”。 ¿ 你在使用 intellij maven 工具吗?尝试通过命令行来完成。在您的项目文件夹中执行:

mvn clean install

如果有效,则意味着您的 IntelliJ 未指向您的本地 maven 设置文件。要修复它,请在 IDE 中打开 maven 窗口:

intelliJ maven tool

接下来,确保您的“用户设置文件”指向正确的文件。您如何在图像中看到,默认情况下,IDE 不适用于您本地安装的 maven,它有一个捆绑的 maven。您可以使用捆绑的 maven,但指向您的特定 settings.xml:

intelliJ maven options

希望对你有所帮助。

【讨论】:

  • 嗨,命令行中的mvn clean install 运行成功。而且我确定 maven 主目录和 settings.xml 指向正确的位置。
  • 我认为是正确的。使用127.0.0.1 localhost255.255.255.255 broadcasthost ::1 localhost
【解决方案2】:

你好尝试使用终端运行以下命令:

mvn clean install -U -DskipTests=true

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多