You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker镜像部署应用时出现org.mapstruct.factory.Mappers类找不到报错

MapStruct Docker部署类找不到问题解决方案

问题根因

你当前的MapStruct核心依赖scope配置为compileOnly,该配置仅会让依赖在编译阶段生效,不会被打入Spring Boot的可执行fat jar中。本地IDE运行时会自动加载本地依赖库因此功能正常,Docker容器中运行的是独立jar包,缺失MapStruct核心类就会抛出ClassNotFoundException异常。

修复步骤

  • 修改build.gradle中的依赖配置,将compileOnly 'org.mapstruct:mapstruct:1.4.1.Final'修改为implementation 'org.mapstruct:mapstruct:1.4.1.Final',annotationProcessor配置保持不变即可。
    调整后的依赖示例:
    dependencies {
        .....
        // 将原compileOnly修改为implementation,保证MapStruct核心包被打入可执行jar
        implementation 'org.mapstruct:mapstruct:1.4.1.Final'
        annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.1.Final'
        // 若项目同时集成Lombok,需保证annotationProcessor中Lombok的配置顺序在MapStruct之前,避免编译时生成类冲突
    }
    
  • 重新执行构建命令生成新的bootJar包,再重新构建Docker镜像部署即可解决问题。

内容的提问来源于stack exchange,提问作者Diana J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:57:02