【问题标题】:location of lombok.config file in java projectlombok.config 文件在 java 项目中的位置
【发布时间】:2018-01-05 09:51:09
【问题描述】:

@AllArgsConstructor(suppressConstructorProperties = true) 在 Eclipse 中显示以下错误:

不再支持此已弃用的功能。去掉它;你可以 创建一个 lombok.config 文件 'lombok.anyConstructor.suppressConstructorProperties = true'。

我创建了这个文件,但在注释 @AllArgsConstructor 行后错误并没有消失。

有人可以帮忙确定该文件的确切放置位置 - 我尝试保存在项目根目录和 src 文件夹中,但即使在 Eclipse 中清理项目后它也不起作用?我们是否需要对 lombok.config 中的更改执行任何特定操作才能反映,例如我们必须在安装 lombok 后重新启动 eclipse。

我正在使用 lombok 版本 1.16.18 ,也尝试了 1.14.4 版本,但同样的问题。

【问题讨论】:

  • 你需要“清除所有”并重新编译; Eclipse 重启无关紧要。
  • 这没有帮助;重启我的意思是就像在安装 lombok 之后我们应该重启 eclipse,同样我们在放置这个配置文件之后需要做任何事情。
  • 它是否需要同时在src/main/resourcessrc/test/resources 下或仅在src/main/resources 下?

标签: java eclipse lombok


【解决方案1】:

根据lombok,你可以在任意目录下创建lombok.config文件,并在其中放置配置指令。
这些适用于该目录下的所有源文件和所有子目录。
因此,如果您想影响所有代码,请将 lombok.config 放在您的根目录中。

在您的lombok.config 文件中指定

lombok.anyConstructor.suppressConstructorProperties=true

如果为真,lombok 将不会生成 生成时@java.beans.ConstructorProperties注解 构造函数。这对 GWT 和 Android 特别有用 发展。

在你的课堂上,只需以这种方式使用@AllArgsConstructor

@AllArgsConstructor
public class Simple {
    private String text;
    private int num;
}

【讨论】:

  • 感谢您的快速回复;我已经看过那个页面,并将配置文件保存在多个地方,这不起作用,因为我误解了弃用是指注释(@AllArgsConstructor)本身,而不是它的属性,所以注释掉了提到的整个注释在问题中
  • 对你有帮助吗?
  • 现在不能确定,但​​是,如何确定配置文件是否实际工作-因为从注释中删除 (suppressConstructorProperties = true) 后,此特定错误消失了,但没有任何其他文件中的错误,无论我的根目录中是否有 lombok.config 文件,这是由于之前评论整个注释而出现的。
  • 我知道,我写了你可以在配置文件中做,你在注释中尝试做的事情
【解决方案2】:

lombok documentationlombok.config 的位置上有点模糊,它指出

通常,lombok 的用户将带有他们偏好的 lombok.config 文件放在工作区或项目根目录中

当它实际上是源根目录时,我将其误解为项目根目录。如果使用 Maven 或 Gradle,您可以将文件放在 src/main/java/lombok.config 中。您可以通过将lombok.config 放入包目录(例如src/main/java/com/foo/mypackage/lombok.config)来减少配置适用的包。使用第二种方法可以为不同的包设置不同的配置

【讨论】:

  • 我把lombok.config放在我的Spring Boot项目的项目根目录下,效果很好。
  • 我把文件放在src/main/java下;这解决了问题。
猜你喜欢
  • 2016-11-21
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
相关资源
最近更新 更多