如果你尝试了网上各种办法,都无法解决问题,不妨看看以下的办法。
前提
我出现问题的场景是,我想使用mapstruct的功能,既使用了lombok,又使用了mapstruct,然后启动报错了
原因
lombok 和mapstruct冲突导致
解决方案
确保 Lombok 最低版本为 1.18.16
annotationProcessorPaths 中,mapstruct-processor 的配置要在 lombok 之后
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<!--mapstruct-processor 的配置要在 lombok 之后-->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
经过mvn clean ,mvn compile 两个命令(我这里试了两次)之后,可以启动成功。