简介

本文介绍如何在springboot中整合mapstruct 和 lombok。

版本准备

mapstruct 1.5.5.Final

lombok 1.18.24

整合步骤

  1. 引入lombok和mapstruct
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>1.5.5.Final</version>
        </dependency>
  1. 添加编译插件。 注意lombok和lombok-mapstruct-binding必须在前
               <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>17</source> <!-- depending on your project -->
                    <target>17</target> <!-- depending on your project -->
                    <annotationProcessorPaths>
                        <!-- Lombok 在编译时会通过这个插件生成代码 -->
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.24</version>
                        </path>
                        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-mapstruct-binding -->
                        <dependency>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok-mapstruct-binding</artifactId>
                            <version>0.2.0</version>
                        </dependency>
                        <!-- other annotation processors -->
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>1.5.5.Final</version>
                        </path>
                &lt;/annotationProcessorPaths&gt;
            &lt;/configuration&gt;
        &lt;/plugin&gt;

可能会遇到的坑

如果maven能够编译通过,IDEA无法启动的情况,编辑启动配置项目,移除build,在启动之前先进行maven编译。

image.png