eclipse - Eclipse 不尊重 Lombok AllArgsConstructor、Getter 和 Setter
问题描述
我最近升级到 Eclipse 2021-03 版本(由于旧版本的一些插件问题),但现在在现有项目中使用 lombok 时遇到问题。
lombok jar 被导入到项目中:
AllArgsConstructor、Getter 和 Setter 的类导入不会在它们所需的类中抛出任何错误:
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public class Greeting {
private @Getter @Setter final long id;
private @Getter @Setter final String content;
}
但是,这些注释在项目的其他任何地方都没有得到尊重。
首先,由于没有明显的构造函数,上面的“id”和“content”字段都显示为未初始化的最终字段:
类似地尝试在其他地方构建 RestController 类会显示“构造函数未定义”错误:
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
Greeting greeting = new Greeting(counter.incrementAndGet(), String.format(template, name));
System.out.println(greeting.getContent());
return greeting;
}
}
上述代码中的 getter 方法“getContent()”总是显示“未定义”错误(类似地,如果尝试添加隐式 setter):
如果我将显式构造函数、getter 和 setter 添加回 Greeting 类,一切都会按预期工作:
解决方案
推荐阅读
- javascript - 如何从浏览器实例与 WebDriver 通信?
- html - 在 html 按钮中居中文本
- python - 在 Python scipy.stats.gumbel_r 中使用 gumbel_r 的矩方法
- database - 如何使用 JayDeBeApi 连接到 Postgres?它没有找到 org.postgresql.Driver
- python - 在 Python Ubuntu 上更改目录时出错
- ios - WKWebview 密码 API 自动填充
- powershell - PowerShell 模块:如何强制执行最低 .NET Framework 版本?
- javascript - 如何使用 THREE.js 加载 SVGLoader
- html - CSS:在多个对象周围创建边框
- python - Cython - 有效过滤类型化的内存视图