Spring Tool Suite中MapStruct Maven依赖更新卡住问题求助
解决STS中Maven更新因MapStruct卡住的问题
问题根源
该问题多因STS的注解处理器自动配置与MapStruct处理器冲突,或是STS解析注解处理器时出现资源占用过高、循环处理的情况导致。
具体解决步骤
1. 临时关闭注解处理器再更新
- 右键项目 → 选择
Properties进入项目属性 - 找到
Java Compiler → Annotation Processing,取消勾选Enable annotation processing - 点击
Apply and Close后,执行右键项目 →Maven → Update Project - 更新完成后,重新勾选
Enable annotation processing,确保MapStruct处理器能正常工作
2. 规范MapStruct的依赖配置
确保pom.xml中MapStruct的依赖和处理器声明无冗余或冲突,示例配置如下:
<!-- MapStruct核心依赖 --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.5.2.Final</version> </dependency> <!-- 注解处理器,仅编译时生效 --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.5.2.Final</version> <scope>provided</scope> </dependency>
若同时使用Lombok等其他注解处理器,需保证版本与MapStruct兼容。
3. 清理缓存与本地仓库
- 执行
Project → Clean,选择当前项目完成清理 - 找到Maven本地仓库路径下的
org/mapstruct文件夹,删除后重新执行Maven更新 - 重启STS,避免缓存残留引发异常
4. 强制更新Maven依赖
执行Maven更新时,勾选Force Update of Snapshots/Releases,强制拉取完整的依赖包,规避本地损坏缓存的影响。
5. 调整并行编译设置
- 打开
Window → Preferences → Java → Compiler → Building - 取消勾选
Parallel compilation或减少并行线程数,避免资源竞争导致卡住
内容的提问来源于stack exchange,提问作者jkfe
相关产品推荐
相关产品推荐

