当前位置: 首页 > 知识库问答 >
问题:

Eclipse Lombok批注未编译。。。为什么?

卫和洽
2023-03-14

我的项目有问题。它是一个Spring CRUD RestFul API,公开提供Json数据的服务。我使用JDK-7、EclipseNeon和Maven进行编码、构建,并将项目部署到JBossEAP6.4服务器中。一切正常,服务响应正确。

因此,我决定添加Lombok,以减少锅炉代码并提高代码的可读性。顺便说一句,我以前在另一个项目中使用了龙目,效果很好。

这是我的问题,在包括Lombok之后:-当我使用Maven(mvn清洁安装)制作一只耳朵时,一切都很顺利,项目部署和工作都很好。-当项目由Eclipse构建时,Lombok注释(即:@Data等)不是纳入*. class。因此,Eclipse部署的耳朵工作正常,但是所有实体都没有任何getter/setter等等。

我知道Eclipse配置正确,因为我的代码中没有任何与Lombok相关的警告,eclipse的大纲视图向我展示了生成的方法。

有人对这种问题有想法吗?

共有1个答案

谢嘉
2023-03-14

您还必须在Eclipse中安装lombok插件。(请注意,这与项目依赖项中存在的lombok有所不同;两者都需要。)此外,Eclipse中安装的版本应该与pom中的版本相同。xml。否则,可能会出现奇怪的编译问题,比如某些注释的代码不是在Eclipse中生成的,而是在maven中生成的,反之亦然。

Eclipse的安装说明可以在这里找到。

在安装和Eclipse重启之后,检查“About Eclipse”对话框。它必须包含一些文本,如“Lombok v1.18.3”和“安装了Edgy豚鼠”。如果不是这样,则lombok插件安装不正确。

如果安装不成功,您应该尝试将lombok安装到一个干净的Eclipse安装(甚至在添加任何项目之前)。

说明:Eclipse使用自己的编译器(不同于maven使用的javac)。因此,lombok还必须挂接到Eclipse编译过程中,因此,Eclipse需要lombok插件。

还要注意,Lombok注释不应该出现在编译的类文件中,因为Lombok注释处理器在生成替换代码时会删除它们。

 类似资料:
  • 我的项目有问题。它是一个Spring CRUD RestFul API,公开提供Json数据的服务。我使用JDK-7、Eclipse Neon和Maven进行编码、构建,并将项目部署到JBossEAP 6.4服务器中。一切正常,服务响应正确。 所以我决定添加Lombok,以减少boiler代码并提高代码的可读性。顺便说一句,我之前在另一个项目中使用了龙目,效果很好。 这是我的问题,包括龙目:当我使

  • 问题内容: 我想问问为什么Java注释使用了这么多…我知道它们在例如jpa中替换了xml配置,但是为什么要使用这种配置呢?考虑这段代码: 现在,当我尝试使用的persist方法将其置于持久性上下文中时,尝试持久化实例会遇到运行时错误(最好是出现编译错误)。对我来说,有一个明显的解决方案,强制实体实现某种无方法接口,而不是使用@Annotations。但这在框架设计人员中并不流行,此解决方案的缺点是

  • 问题内容: 我正在尝试使用泛型实现以下结构。收到编译器错误,无法找出原因。 这个想法是译者使用T作为字典中键的类型。例如,可以是字符串或枚举。子类提供具体的字典。 但是它失败,因为:“类型’String’不符合协议’Hashable’” 但是String符合Hashable。它也不适用于Int,后者也符合Hashable。 如果删除类型约束,则仅用于测试(在此我还必须禁用字典,因为我不能在其中使用

  • 我有一个简单的测试设置,如 但当我尝试编译测试时,我会遇到53个错误,比如 实际上并没有传达任何关于问题所在的有用信息。我只能假设在我的构建中没有正确配置某些内容。sbt文件或其他地方。 这段代码确实曾经工作过,在我清理东西的过程中,事情发生了变化,现在它被破坏了,没有好的诊断。 有人能提出要找的东西吗?

  • 问题内容: 因此,我知道您正在指定类型,但是为什么呢?在什么条件下会很重要。例如,如果我具有以下方法,并且注释掉@Produces批注,它仍将返回JSON。 API文档说:“如果未指定,则容器将假定可以产生任何类型。” 那么,为什么我不希望容器承担这种责任呢? 问题答案: 我认为这取决于您的JAX- RS实现,但这是泽西对其@Produces批注的解释:https ://jersey.java.n