使用mapstructs并没有生成实现类


@[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)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM