“我正在学习英语,这是我第一次用英语写作。可能会有一些错误,请多多包涵。
我正在尝试使用STS4在浏览器中显示数据库信息列表。但是,尝试在 UserService.java 类中使用 Lombok 不起作用。
具体来说,在 UserService.java 类中只写一个构造函数,例如 private final UserRepository userRepository;不起作用。
以下是我已经采取的步骤:
我将以下两行代码添加到 application.properties 文件 spring.thymeleaf.check-template-location=false 中。 spring.jpa.open-in-view=false
从SpringToolSuite4.ini文件中删除了lombok.jar,并删除了lombok.jar导入信息。然后通过在“帮助”>“安装新软件”中输入 STS4 的 https://projectlombok.org/p2 重新安装该软件。安装成功完成。
在pom.xml文件中指定Lombok的版本为1.18.30,但问题并未解决。错误消息是“正在复制 lombok 的托管版本 1.18.30”。所以这不相关。
我怀疑STS4 IDE没有正确处理导入语句和注释,因为当我写 private Final UserRepository userRepository; 时我收到一条错误消息,指出该语句不能为空 我收到一条警告消息,指出该语句不能为空。
有人可以给我一些反馈吗?提前谢谢您。”
我尝试过的:我尝试在 UserService.java 类中使用 Lombok。具体来说,我编写了一个构造函数,例如 private Final UserRepository userRepository;在 UserService.java 类中。此外,我向 application.properties 文件添加了特定的代码行,从 SpringToolSuite4.ini 文件中删除了 lombok.jar,并通过在“帮助”>“安装新软件”中输入 STS4 的 https://projectlombok.org/p2 重新安装它。我还在pom.xml文件中指定了Lombok的版本为1.18.30。
我的期望:我期望通过执行这些步骤,Lombok 能够正确运行并私有最终 UserRepository userRepository;不会为空。
如果您想在服务类中使用
@RequiredArgConstructor
自动装配依赖项,您可以这样做:
@Service
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
// Your methods here
}
关于这个问题:
pom.xml文件中指定Lombok的版本为1.18.30, 但问题并没有解决。错误消息是“正在复制” lombok 的托管版本 1.18.30’。
这表明该版本已在您的 Maven 配置中的其他位置进行管理。因此,如果我理解正确,您只需手动添加 Lombok 库,并将其作为依赖项添加到您的
pom.xml
文件中,这很可能导致此问题。
您可以在终端中运行以下命令并在此处显示输出吗:
mvn dependency:tree