MapStruct и Lombok не работают вместе

После того как я в свой проект заинжектил MapStruct в котором уже был Lombok, я словил огромное количество ошибок на все сеттеры и геттеры примерно такого содержания:

cannot find symbol
[ERROR] symbol: method getName()
[ERROR] location: variable request of type ru.ebrains.entity.User

Если у вас такая же проблема, добро пожаловать под кат

pom.xml

...
<properties>
    <java.version>1.8</java.version>
    <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
    <lombok.version>1.16.16</lombok.version>
</properties>
...
<dependencies>
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${org.mapstruct.version}</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
    </dependency>
</dependencies>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>${java.version}</source> 
                <target>${java.version}</target>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.mapstruct</groupId>
                        <artifactId>mapstruct-processor</artifactId>
                        <version>${org.mapstruct.version}</version>
                    </path>
                    <!-- other annotation processors -->
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

Как уже упоминал выше, проблема была в том, что все ошибки сыпались на сеттеры и геттеры, которые генерил ломбок для доменных сущностей и причиной является блок annotationProcessorPaths расположенный в pom -> build -> plugins -> maven-compiler-plugins. Maven использует процессор только mapstruct, а не lombok. Добавив lombok в annotationProcessorPaths мы решим проблему:

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