小编use*_*659的帖子

Mapstruct 不使用 Lombok 定义的构建器

解决方案:

我不得不更改 mymapstructlombok annotationProcessorPaths.

我不得不放在mapstruct上面lombok,然后它起作用了。

我将下面的 pom 更新为工作版本,所以这里没有非工作代码。

我还将 lombok 版本转换回当前版本,而不是使用边缘版本。


原问题:

我有 2 组或多或少相同的类(见下面的例子)

  • 一组是我的 API 的 DTO,我希望它不可变,使用 Lombok 的 @Value 和 @Builder
  • 一组是将要存储在数据库中的实体。使用 Lombok 的 @Data

最初我将项目设置为使用:

  • 龙目岛 1.18.12
  • 映射结构 1.3.1
  • 爪哇 11
  • 马文

我发现 Lombok 文档解释了如何将注释处理器添加到 maven-plugin https://projectlombok.org/setup/maven

但是在执行时我仍然得到 Error:(16,25) java: ClassX does not have an accessible parameterless constructor.

搜索此消息时,我发现了一些 2 到 3 年的问题,但没有最新的。我也看到,这些帖子的问题已经解决。

至少在其中一篇文章中提到,当将项目拆分为模块时,它起作用了。这对我也有效。当我将 DTO 移动到另一个 maven 模块时,在那里构建它们并设置它工作的依赖项,但这绝对不是我想要的项目结构。此外,因为我可能还需要将我的实体移出,并且我不想为我正在创建的每个 Pojo 结构创建一个新模块。

我还发现 Lombok Edge 版本上的帖子:https : //projectlombok.org/download-edge 更改列表中的第二点是 …

maven lombok mapstruct java-11

6
推荐指数
1
解决办法
2935
查看次数

标签 统计

java-11 ×1

lombok ×1

mapstruct ×1

maven ×1