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

Eclipse Lombok注释未编译...为什么?[重复]

董翰池
2023-03-14

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

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

这是我的问题,包括龙目:当我使用Maven(mvn clean install)制作ear时,一切都很顺利,项目部署和工作都很好当项目由Eclipse构建时,龙目注释(即:@数据等)不包括在*.class中。因此,Eclipse部署的ear工作正常,但所有实体都没有任何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、EclipseNeon和Maven进行编码、构建,并将项目部署到JBossEAP6.4服务器中。一切正常,服务响应正确。 因此,我决定添加Lombok,以减少锅炉代码并提高代码的可读性。顺便说一句,我以前在另一个项目中使用了龙目,效果很好。 这是我的问题,在包括Lombok之后:-

  • 问题内容: 我知道类注释的目的,这要归功于Java中注释的使用方式和位置?。如本博客文章和Java语言规范的第7.4.1节所述,包注释的目的是什么? 您为什么要将元数据与程序包关联?你能做些什么? 问题答案: bnd工具(和maven-bundle-plugin)利用包注释。将@Version和@Export批注放在package-info.java中,可以生成OSGi元数据。 javadoc使用

  • 所有编程语言都被翻译成机器代码,然后由硬件解释器执行。但是什么翻译译码器的代码,例如编译器代码和解释器代码?编译器翻译源代码,但编译器也用某种语言编写,那么什么翻译编译器代码/代码呢? 谢谢

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

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