我的项目有问题。它是一个Spring,它公开了提供RestFul数据的服务。我使用JDK-7、Eclipse和Maven进行代码、构建和项目部署到JBossEAP 6.4服务器中。每件事都运行良好,服务响应正确。
因此,我决定添加Lombok,以减少锅炉代码,提高代码的可读性。顺便说一句,我以前在另一个项目中使用过Lombok,而且工作很好。
这是我的问题,在包含Lombok之后:-当我使用Maven (mvn干净安装)创建一个ear时,一切都进行得很好,项目部署和工作都很好。-当项目由Eclipse构建时,Lombok注释(即:@Data等)不包含在*.class中。因此,Eclipse部署的ear运行良好,但所有实体都没有任何getter / setter,等等。
我知道Eclipse的配置是正确的,因为我的代码中没有任何与Lombok相关的警告,eclipse的大纲视图显示了生成的方法。
有人对这种问题有什么想法吗?
发布于 2018-09-07 08:53:59
您还必须在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注释处理器在生成替换代码时会删除它们。
https://stackoverflow.com/questions/42301333
复制相似问题