8

我用 Intellij 打开了 restbucks 项目。我安装了 lombok 插件,启用了注释处理。我在 Intellij 设置中使用 javac 编译器。我在项目根目录中有 lombok.config 就像在 git 存储库中一样,我也尝试将其复制到 src/main/java 和 src/main/resources 但无论我尝试什么,当我使用 Intellij 构建项目时,在发布订单后,我得到:

构造函数的参数 #0 [org.springsource.restbucks.order.Order 的构造函数,注释:{interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}] 有没有属性名称注释;多参数构造函数注解为 Creator 时必须有名字

好像lombok.anyConstructor.suppressConstructorProperties=true没什么效果。当我用 maven 构建时,它工作正常。当我删除 lombok.config 文件时,Intellij 开始在整个项目中显示错误,因此该文件似乎最终被 Intellij 识别。但是构建没有按预期运行,因为如上所述发布到订单失败。有谁知道这里发生了什么?

4

1 回答 1

1

Lombok 插件确实支持lombok.config文件。

根据lombok.anyConstructor.suppressConstructorPropertiesLombok doc已弃用

重大更改:lombok 配置键 lombok.anyConstructor.suppressConstructorProperties 现在已弃用,默认为 true,也就是说,默认情况下,lombok 不再自动生成 @ConstructorProperties 注释。新的配置键 lombok.anyConstructor.addConstructorProperties 现在存在;如果您想要旧的行为,请将其设置为 true。随着 JDK9 的发布,Oracle 或多或少地破坏了这个注释,因此需要进行这种破坏性的改变。

使用位于根文件夹中的新lombok.anyConstructor.addConstructorProperties文件lombok.config,并且执行全新安装,然后应该没问题。

于 2019-12-09T19:10:01.123 回答