Eclipse Lombok注释未编译...为什么?

Zor*_*ube 5 java eclipse spring maven lombok

我的项目有问题.它是一个Spring CRUD RestFul API,它公开了提供Json数据的服务.我使用JDK-7,Eclipse-Neon和Maven来编码,构建并将项目部署到JBossEAP 6.4服务器中.每件事都运作良好,服务正确响应.

所以我决定添加Lombok,以减少锅炉代码并提高代码的可读性.顺便说一下,我之前在另一个项目中使用了龙目岛,并且运行良好.

这是我的问题,包括Lombok后: - 当我使用Maven(mvn clean install)时,一切顺利,项目部署并且工作完全正常. - 当项目由Eclipse构建时,Lombok注释(即:@Data等)不包含在*.class中.因此Eclipse部署的耳朵工作正常但是所有实体都没有任何getter/setter等等.

我知道Eclipse配置正确,因为我的代码上没有任何关于Lombok的警告,eclipse的大纲视图显示了我生成的方法.

有没有人对这类问题有所了解?

Jan*_*eke 4

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

可以在此处找到 Eclipse 的安装说明。

安装后检查“关于 Eclipse”对话框并重新启动 Eclipse。它必须包含一些文本,例如“ Lombok v1.18.3“Edgy豚鼠”已安装。 ”。如果不是这种情况,则表明 lombok 插件安装不正确。

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

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

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