mapstruct引入不生效:解决mapstruct与lombok二者版本冲突问题

应用中引入MapStruct导致Lombok不生效问题解决方法 当我们在应用中引入MapStruct之后,Lombok不生效了的问题解决方法 阅读详情

问题:

引入了mapstruct的依赖,但是转换器的实现类中,并没有该实体的get/set方法进行属性赋值。

在这里插入图片描述

解决:

版本问题,mapstruct、lombok、maven的版本不对劲。

mapstruct 使用1.2.0

lombok使用1.16.22

是可行的。
在这里插入图片描述

或者在pom文件中加入这样一段:

升高maven-compiler-plugin的版本,同样可以解决问题。

	<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.16</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${mapstruct.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

最终效果:

在这里插入图片描述

mapstructlombok冲突原因及解决方案 Lombok 1.18.16 引入了一个重大更改(更新日志)。 必须添加额外的注释处理器 (Maven),否则 MapStruct 将停止 Lombok 一起工作。 阅读详情

相关推荐

Lombok MapStruct 冲突深度解析:原因、表现及解决方案

本文探讨了Java开发中LombokMapStruct的协同冲突问题解决方案。核心矛盾在于两者的注解处理器执行顺序不当导致MapStruct无法识别Lombok生成的代码。主要解决方案包括:强制指定注解处理器顺序(Lombok优先)、优化Lombok注解组合、配置MapStruct适配特殊注解、完善IDE设置以及升级依赖版本。通过编译工具配置确保执行顺序,结合合理的注解组合,可实现两者的完美协作,既简化代码编写又保证映射安全性。最佳实践推荐使用Lombok 1.18.20+和MapStruct 1.5.

1087

如何解决mapstructlombok冲突问题

一、冲突如何产生 在按照官网配置mapstruct,使用lombok。当我们在maven install时候会出现属性找不到错误。 二、解决配置如下 确保 Lombok 最低版本为 1.18.16 annotationProcessorPaths 中,要配置lombok <build> <plugins> <plugin> <groupId>org.apache.mave..

境里婆娑 1万+

mapstruct 使用问题解决

mapstruct可以很好的解决DTO,VO,PO等等实体直接属性copy的问题,比BeanUtils.copyProperties()更好用。 一。MapStruct怎么使用 1.MapStruct是用来做什么的? 现在有这么个场景,从数据库查询出来了一个user对象(包含id,用户名,密码,手机号,邮箱,角色这些字段)和一个对应的角色对象role(包含id,角色名,角色描述这些字段),现在在controller需要用到user对象的id,用户名,和角色对象的角色名三个属性。一种方式是直接把两个对

zhujiakuan的博客 3253

mapstruct赋值失败

使用mapstruct进行对象间赋值时出现了赋值失败的情况,即赋值后新对象里面的所有属性都是空值,点击查看class反编译的代码后发现没有调用set方法。

han_xingyuan的博客 1016

ruoyi框架mapstructlombok 引入,及之间的冲突

mapstruct依赖lombok生成的setter 、getter方法,所以编译的需要有个先后顺序,就是上面的annotationProcessorPaths 中 lombok一定要在前面。3、所以在需要的子module里面可以直接引入mapstruct(为了可以所有模块里面都可以使用,可以再ruoyi-common里面引入)因为ruoyi的根pom的dependencyManagement里面有下面的import。

shang_an_1的博客 2231

lombok突然不好用了-和MapStruct冲突解决方案

我在idea上写java代码,使用了lombok的@data功能,本来没问题,但是加入了mapstruct框架依赖就不行了,虽然代码没报错,但是编译后的class里面没有了get,set方法了。报错截图:idea没报错,但是编译后的class就是没有getxx,setxx方法。

苍煜 2090

MapStructLombok 版本冲突问题

解决MapStructLombok版本冲突问题

qq_34870127的博客 5475

使用lombok 插件后,mapstruct 不生效

背景: springboot 项目使用 lombok 插件后,添加mapstruct 插件,maven 编译时mapstruct 插件不起作用。 目前先匆匆记录一下一种解决方案 一种解决方案: pom 文件中加入以下依赖。笔者使用的mapstruct 版本为 1.3.0.Final <!-- 解决lombok插件和 mapstruct 冲突导致 mapstruc...

H_Rhui的博客 6513

在spring项目使用mapstruct时出现@Mapper注解不生效问题,Cannot find implementation的解决方案

使用mapstruct遇到问题笔记1

Gold_exp_erience的博客 2535

mapstruct工作使用时遇到问题

void fundApplicationFormEntityToConvertAcceptMaterial(FundApplicationFormEntity fundApplicationFormEntity, @MappingTarget AcceptMaterialVo acceptMaterialVo); void fundApplicationFormListToConvertAcceptMaterialList(List<FundApplicationFormEn...

weixin_43522117的博客 1220

[Solutions] <MapStruct@Builder冲突, @AfterMapping不生效

Bug, 解决, MapStruct, 版本冲突

nxhljt的博客 4449

mapstruct常见错误及解决方案

mapstruct常见错误及解决方案

gaogzhen的博客 6729

@mapper(mapstruct) 实现converter 目标对象字段默认值不生效问题

由于目标类加了@Builder(lombok)注解,mapstruct编译后的实现类会使用builder的方式去构建目标对象,默认值字段不加@Builder.Default注解的话是不会填充到字段里面去的。 具体原因需要去看@Builder注解实现方式,我猜实现方式是@Builder会新增一个类,把字段都填充进去,大概是字段初始化值没加@Builder.Default注解就不填充。 ...

joodu的博客 3207

MapStructLombok结合使用的问题

MapStructLombok结合使用的问题

weixin_43076660的博客 1433

lombokmapstruct冲突

pom中导入lombok插件及依赖后,maven执行compile报错,提示找不到get/set方法,原因是和mapstruct冲突解决方法: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version>

m0_67391521的博客 947

MapStructlombok加载顺序问题annotationProcessorPaths的关系?

MapStruct是什么? MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a convention over configuration approach.——https://mapstruct.org/ 从...

经典鸡翅 5234
上一篇: 自定义注解完成校验枚举类型的三种方法。
下一篇: @NotBlank注解不生效解决方法
小老犇
博客等级 码龄7年 384粉丝 150原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值