第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MapStruct @MappingTarget 生成一個(gè)空方法

MapStruct @MappingTarget 生成一個(gè)空方法

一只斗牛犬 2023-10-12 17:15:37
有一個(gè)由 Lombok 形成的目標(biāo)類型:@Data@Builderclass Target {   private final String a;}并有一個(gè) DTO:@Value@Builderclass DTO {   private final String a;}映射器:@Mapper(componentModel = "spring")interface Mapper {    void update(DTO dto, @MappingTarget Target target);}但是當(dāng)我編譯時(shí)(看到一些與 JDK 11 相關(guān)的東西,是的,在我的例子中是 11),編譯后的方法是空的:public void update(DTO source, Target target) {   if (source == null) {       return;   }}并且這只與MappingTarget相關(guān)。使用“createFromDTO”的常規(guī)映射方法可以正常工作。地圖結(jié)構(gòu)1.3.0
查看完整描述

2 回答

?
開滿天機(jī)

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 配合使用。


查看完整回答
反對(duì) 回復(fù) 2023-10-12
?
慕標(biāo)5832272

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)志)被宣布)。


查看完整回答
反對(duì) 回復(fù) 2023-10-12
  • 2 回答
  • 0 關(guān)注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)