【问题标题】:Eclipse reporting "the value of the field is not used" warning even though Lombok enableEclipse 报告“未使用该字段的值”警告,即使 Lombok 启用
【发布时间】:2022-01-26 05:17:05
【问题描述】:

我在一个 Eclipse 项目中有 2 个类。

package com.example;

import lombok.Getter;
import lombok.experimental.Accessors;

@Accessors(fluent = true)
@Getter
public class MyBean {
    private String value = "aaa";
}
package com.example;

public class MyClass {
    public static void main() {
        System.out.println(new MyBean().value());
    }
}

构建后,即使Eclipse的内容辅助显示MyBean#value()方法,Eclips为MyBean类和"The method value() is undefined for the type MyClass"报告"the value of the field value is not used",构建前没有警告,编译,执行都成功完成。 所以我猜 Lombok 工作正常,问题是 Eclipse 无法识别 Lombok。

这是我尝试和发现的。

  • 将 lombok.jar 附加到 Eclipse 并检查 eclipse.ini
  • 清理并重建项目
  • 从 maven 本地存储库中删除 Lombok 依赖项,然后重新安装
  • 问题只出现在这个项目中。 Eclipse 使用 lombok 正确处理其他项目(并且所有项目都属于同一个工作区)。
  • 我无法在其他项目中重现这些问题。

有什么想法吗?

【问题讨论】:

  • 我的建议是停止使用 lombok 来生成直接从您的代码访问的方法(构造函数和访问器)。对于留下来维护您的代码的人来说,这是一个持续的头痛和沮丧的根源。将它用于不直接连接到业务逻辑的东西,例如记录样板,toStrings 等。Eclipse 可以为您生成相同的代码。改用它。

标签: java eclipse maven lombok


【解决方案1】:

最后,只需创建新项目并将所有资源和资源移至该项目即可解决问题。 好像是Eclipse的项目配置坏了不知道为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2012-06-18
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    相关资源
    最近更新 更多