2021.1 idea中maven下载源码,刷新maven问题

在使用最新版IDEA进行Maven项目操作时,遇到刷新Maven和下载源码过程中抛出`java.lang.RuntimeException: Cannot reconnect`异常,主要是由于连接被拒绝。错误堆栈中指出`java.rmi.ConnectException: Connection refused to host: 127.0.0.1`。解决此类问题通常涉及检查本地Maven配置、网络设置、IDEA配置等,确保Maven服务器能够正常连接和通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用最新版的idea工具在,刷新maven和下载源码时出现

或者

ava.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:38)
	at org.jetbrains.idea.maven.project.MavenProjectResolver.downloadSourcesAndJavadocs(MavenProjectResolver.java:253)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessorArtifactsDownloadingTask.perform(MavenProjectsProcessorArtifactsDownloadingTask.java:40)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:146)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor$1.run(MavenProjectsProcessor.java:115)
	at org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:518)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:270)
	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.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
	java.net.ConnectException: Connection refused: connect
	at java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:623)
	at java.rmi/sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:209)
	at java.rmi/sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:196)
	at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:132)
	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.$Proxy132.createEmbedder(Unknown Source)
	at jdk.internal.reflect.GeneratedMethodAccessor4171.invoke(Unknown Source)
	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:150)
	at com.intellij.execution.rmi.RemoteUtil.access$400(RemoteUtil.java:21)
	at com.intellij.execution.rmi.RemoteUtil$1.lambda$invoke$0(RemoteUtil.java:134)
	at com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:31)
	at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:202)
	at com.intellij.execution.rmi.RemoteUtil$1.invoke(RemoteUtil.java:134)
	at com.sun.proxy.$Proxy132.createEmbedder(Unknown Source)
	at org.jetbrains.idea.maven.server.MavenServerConnector.createEmbedder(MavenServerConnector.java:191)
	at org.jetbrains.idea.maven.server.MavenServerManager$2.create(MavenServerManager.java:344)
	at org.jetbrains.idea.maven.server.MavenServerManager$2.create(MavenServerManager.java:332)
	at org.jetbrains.idea.maven.server.RemoteObjectWrapper.getOrCreateWrappee(RemoteObjectWrapper.java:41)
	at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.doCustomize(MavenEmbedderWrapper.java:79)
	at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.lambda$customizeForResolve$0(MavenEmbedderWrapper.java:39)
	at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76)
	... 17 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.base/java.net.PlainSocketImpl.connect0(Native Method)
	at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
	at java.base/java.net.Socket.connect(Socket.java:609)
	at java.base/java.net.Socket.connect(Socket.java:558)
	at java.base/java.net.Socket.<init>(Socket.java:454)
	at java.base/java.net.Socket.<init>(Socket.java:231)
	at com.intellij.execution.rmi.RemoteServer$1.createSocket(RemoteServer.java:122)
	at java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:617)
	... 40 more

2.解决方案

### 解决方案 在 IntelliJ IDEA 中创建 Maven 项目时,如果发现 `webapp` 文件夹缺失,可以通过以下方法解决问题。 #### 配置 Maven Archetype 当创建 Maven 项目时,应选择合适的 archetype 来初始化项目的结构。对于 Web 应用程序开发,推荐使用 `maven-archetype-webapp` 构建初始模板[^2]。 具体操作如下: 1. 在新建项目界面中,勾选 **Maven** 并设置模块 SDK 版本为 Java 1.8 或更高版本。 2. 勾选 **Create from archetype** 复选框,并从列表中选择 `org.apache.maven.archetypes:maven-archetype-webapp`。 3. 单击 **Next** 按钮完成配置并生成项目。 通过上述方式可以确保项目默认包含标准的 Web 应用程序目录结构,其中包括 `src/main/webapp` 目录。 #### 手动添加 webapp 目录 如果未正确应用 `maven-archetype-webapp` 导致 `webapp` 文件夹缺失,则需手动创建该文件夹及其子目录: ```bash mkdir -p src/main/webapp/WEB-INF ``` 随后,在 IDE 的 Project 工具窗口中刷新 Maven 依赖项以同步新目录到项目结构中。可通过右键单击项目根目录并选择 **Add Framework Support... -> Servlet** 完成框架支持绑定[^3]。 #### 调整 Module 设置 为了使 IDEA 正确识别新增加的资源路径,还需要调整模块源码配置: 1. 进入菜单栏中的 **File → Project Structure → Modules** 页面; 2. 切换至 **Sources** 标签页,找到 `src/main/java` 和 `src/main/resources` 目录标记它们为主源代码和资源配置区域; 3. 同样地,将 `src/main/webapp` 设定为 Resources Folder 类型以便于编译器处理静态内容。 以上步骤能够有效修复因错误配置而导致的标准目录丢失问题。 ```xml <build> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/webapp</directory> </resource> </resources> </build> ``` 此片段展示了如何定义构建过程中的多个资源位置,从而进一步巩固自定义结构调整后的稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值