2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
Maven只使用Mapstruct處理器,那么你需要在pom.xml中添加Maven插件,配置Mapstruct與Lombok處理器一起使用。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<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>${org.projectlombok.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.1.0</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
您不需要包含 Final 修飾符。如前所述,使用 @Data 而不是 @Value。
在我的測(cè)試中,這足以讓 Mapstruct 1.4.1.Final 與 Lombok 和 JDK 11 配合使用。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
好吧,結(jié)果變成了龍目島+私人決賽。
Mapper 特別希望 Lombok@Data
被聲明@Value
(而不是@Builder
被 MapStruct 使用),因此,需要final
從需要更新的字段中刪除。
奇怪的是,這是通過“google,錯(cuò)誤并重試”完成的(加上out
每次嘗試時(shí)都從項(xiàng)目中手動(dòng)清除目錄,因?yàn)?MapStruct 忽略了這些更改),而 MapStruct 從未給出警告(沒有忽略警告或錯(cuò)誤的標(biāo)志)被宣布)。
添加回答
舉報(bào)