我用Intellij打开了restbucks项目。我安装了lombok插件,启用了注释处理。我在Intellij设置中使用javac编译器。我在项目根目录中有lombok.config,就像在git仓库中一样,我也尝试将它复制到src / main / java和src / main / resources但是无论我尝试什么,当我在发布订单后使用Intellij构建项目时,我明白了:
构造函数的参数#0 [构造函数] org.springsource.restbucks.order.Order,annotations:{interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator(模式= DEFAULT)}] 没有属性名称注释;必须有名字的时候 多参数构造函数注释为Creator
似乎lombok.anyConstructor.suppressConstructorProperties=true
没有效果。当我用maven构建时,它工作正常。
当我删除lombok.config文件时,Intellij开始在整个项目中显示错误,因此该文件似乎被Intellij afterall识别。但是如上所述,如果订单发布失败,那么构建并不像预期的那样运行。有谁知道这里发生了什么?
答案 0 :(得分:1)
Lombok插件确实支持lombok.config
文件。
lombok.anyConstructor.suppressConstructorProperties
已在龙目岛doc中弃用
BREAKING CHANGE:lombok配置键lombok.anyConstructor.suppressConstructorProperties现在已弃用,默认为true,也就是说,默认情况下,lombok不再自动生成@ConstructorProperties批注。现在存在新的配置键lombok.anyConstructor.addConstructorProperties;如果您想要旧的行为,请将其设置为true。 Oracle在JDK9发行版中或多或少地破坏了该注释,因此有必要进行这一重大更改。
在根文件夹的lombok.anyConstructor.addConstructorProperties
中使用新的lombok.config
另外,执行全新安装,然后应该可以。