使用rewrite-maven-plugin时出现SocketTimeoutException读取超时问题
问题:OpenRewrite Maven插件执行Spring Boot 3.2升级时出现readTimedOut错误
在使用OpenRewrite Maven插件执行org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2配方升级Spring Boot时,遭遇readTimedOut错误,即使将Maven堆内存调整至16GB,问题仍未解决。插件配置如下:
<project> <build> <plugins> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>5.21.0</version> <configuration> <activeRecipes> <recipe>org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2</recipe> </activeRecipes> </configuration> <dependencies> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-spring</artifactId> <version>5.3.1</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>
解决建议
- 优化网络与镜像源:readTimedOut多由网络不稳定或远程仓库访问缓慢导致。切换到国内Maven镜像(如阿里云),在
settings.xml中配置:
<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>
- 延长插件超时时间:在插件配置中添加超时参数,增加网络请求等待时长:
<configuration> <activeRecipes> <recipe>org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2</recipe> </activeRecipes> <!-- 延长超时至5分钟(300秒) --> <timeout>300</timeout> </configuration>
升级插件及配方版本:旧版本插件可能存在网络请求逻辑缺陷,升级到最新稳定版本:
- rewrite-maven-plugin:建议升级至5.40.0+
- rewrite-spring:对应升级至5.20.0+(需与插件版本兼容)
预下载依赖到本地仓库:手动下载配方依赖,避免插件执行时远程下载超时:
mvn dependency:get -DgroupId=org.openrewrite.recipe -DartifactId=rewrite-spring -Dversion=5.20.0
内容的提问来源于stack exchange,提问作者Sasivarnan Manickam
相关产品推荐
相关产品推荐

