首页 > 其他 > 详细

使用mapstructs并没有生成实现类

时间:2021-04-10 15:36:12      阅读:227      评论:0      收藏:0      [点我收藏+]

@[TOC](无目录)

# 吐槽
问题描述:随便找了一个博客,照着配一下mapstructs。就离谱,完全照着博主的配,编译不报错,一使用就报错。[第三十章:SpringBoot使用MapStruct自动映射DTO](https://blog.csdn.net/weixin_42033269/article/details/80026085) 我使用的是Spring,自动注入类,类没注入进去,会有红色下划线提醒。又改成默认配置去导入,可以导入了但是一使用就报找不到DTOMapper异常。然后去[官网](https://mapstruct.org/documentation/installation/)看了一下,发现和我照着博文配的也差不多,就是版本高了一些
```java
...
<properties>
<org.mapstruct.version>1.4.2.Final</org.mapstruct.version>
</properties>
...
<dependencies>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- depending on your project -->
<target>1.8</target> <!-- depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
```
改了之后还是错,又是一翻找。发现有的人配的是这样的maven,改了之后居然注解直接报错了。又找了一下,发现在2019版本之前的idea需要这样配,2019和之后就不需要了。。。
```xml
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-Java8</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.2.0.Beta2</version>
</dependency>
```
再找吧,发现可能是Lombok的问题,他俩之间有冲突。。。懵逼!!。
最终也是找到了一篇博客,照着那样写也是成功的生成了mapper接口的实现类,真的难搞,就这我找了两小时!!

# 解决方法
[MapStruct - Lombok & Maven 版本关系](https://lux-sun.blog.csdn.net/article/details/114011859)

使用mapstructs并没有生成实现类

原文:https://www.cnblogs.com/wdetian0918/p/14640638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!