lombok原理探索

最近想开发一个类似lombok 的插件,插入式注解处理器部分代码已经完成了;现在遇到的问题是,项目必须在install后才会有新代码生成,但是lombok在没有编译的时候就能在其他类里引用“一个未来生产的get set方法”,不知道这是通过什么方法实现的;
请知道的朋友不吝赐教,谢谢

是通过编译器的插件实现的,idea和eclipse都有lombok的插件,不安装这个插件也是会提示报错的

Lombok是通过在编译期间在源代码中插入代码来实现这一功能的。在编译期间,Lombok会将注解处理器扫描到的注解转换为源代码中的真实代码,然后将生成的代码插入到源代码中。

这意味着,Lombok插件在编译之前就已经完成了代码生成,因此在编译之前就可以在其他类中引用未来生成的getter/setter方法。

为了实现这一功能,Lombok插件使用了javac的注解处理机制。注解处理机制是一种在编译期间扫描源代码并执行操作的机制,可以用于在编译期间生成代码。