编程开发 | 1.6M
语言:简体
3 .0
应用简介
lombok.jar 文件Lombok 是Java 中的一个实用工具。使用lombok.jar框架可以帮助开发者消除Java的冗长,方便地帮助开发者进行Java开发工作。
lombok.jar文件,Lombok是Java中的一个实用工具。使用lombok.jar框架可以帮助开发人员消除Java的冗长,可以轻松帮助开发人员进行Java开发工作。
文件描述
Lombok 是一个Java 实用程序,可用于帮助开发人员消除Java 冗长,特别是对于简单的Java 对象(POJO)
指示
eclipse/myeclipse 手动安装lombok
1、将lombok.jar复制到myeclipse.ini/eclipse.ini所在文件夹目录下
2、打开eclipse.ini/myeclipse.ini,在最后插入以下两行并保存:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
3、重启eclipse/myeclipse
原理分析
接下来我们以Oracle的javac编译工具为例来分析一下lombok的工作原理。
从Java 6 开始,javac 就支持“JSR 269 Pluggable Annotation Processing API”规范。只要程序实现了该API,就可以在javac运行时调用。
例如,现在有一个程序A 实现“JSR 269 API”。那么使用javac编译源码时的具体流程如下:
1)javac分析源代码并生成抽象语法树(AST)
2)运行时调用实现‘JSR 269 API’的程序A
3)此时,程序A可以完成自己的逻辑,包括修改第一步得到的抽象语法树(AST)。
4)javac使用修改后的抽象语法树(AST)生成字节码文件
Lombok 本质上是一个实现“JSR 269 API”的程序。在使用javac的过程中,其作用的具体过程如下:
1)javac分析源代码并生成抽象语法树(AST)
2)运行时调用实现‘JSR 269 API’的lombok程序
3)此时lombok对第一步得到的AST进行处理,找到@Data注解所在类对应的语法树(AST),然后修改语法树(AST),添加对应的树节点由getter 和setter 方法定义。
4)javac使用修改后的抽象语法树(AST)生成字节码文件。
编译工具
1)从《3.原理分析》可以看出Oracle javac直接支持lombok
2)常用的项目管理工具Maven使用的Java编译工具来自配置的第三方工具。如果我们将这个第三方工具配置为Oracle javac,那么Maven将直接支持lombok。
3)如果Intellij Idea配置的编译工具是Oracle javac,则直接支持lombok。
4)Eclipse不使用Oracle javac编译工具,而是自行实现的Eclipse Compiler for Java(ECJ)。如果你想让ECJ支持lombok,你必须进行设置,具体是在Eclipse程序目录下的eclipse.ini文件中。添加以下两行设置:
-javaagent:[lombok.jar所在路径]
-Xbootclasspath/a:[lombok.jar所在路径]
热门攻略