eclipse安装lombok使用及问题
eclipse安装lombok使用及问题
一、lombak诞生原因:
Java项目有太多没有逻辑的代码,影响阅读程序主要逻辑,充斥着太多不友好的代码,如:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等,上述代码通常没有技术含量,又影响着代码的美观,因此Lombok应运而生,任何技术的出现都是为了解决某一类问题。
二、具体使用和安装
1)引入相应的maven包
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency>
Lombok的scope=provided
,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件,即重新包含getter,setter等方法的类。
2)下载
前往官网下载:https://projectlombok.org/download lombok.jar
3)将lombok.jar放在eclipse的安装目录下。
4)执行java -jar lombok.jar
cmd窗口(Windows系统)或Shell窗口(Linux 系统)执行命令:java -jar lombok.jar
5)install/update
基于4),在弹出的窗口中点击Specify location.. 选择eclipse 的安装目录。然后点击install/update。
安装成功,退出,在eclipse.ini中会看到新增lombok.jar一行。
6)手动添加(可直接跳过4、5步)
有时可能这样自动安装的路径导致eclipse无法启动,可以将eclipse.ini文件自动追加的一行修改为如下:
-Xbootclasspath/a:lombok.jar -javaagent:lombok.jar
7)启动eclipse ,clean(或者maven update)
错误消失。
三、关于lombok的使用简要说明
1) @NonNull:
可以帮助我们避免空指针。
import lombok.NonNull; public class NonNullExample extends Something { private String name; public NonNullExample(@NonNull Person person) { super("Hello"); this.name = person.getName(); } }
2) @Cleanup:
自动帮我们调用close()方法。
import lombok.Cleanup; import java.io.*; public class CleanupExample { public static void main(String[] args) throws IOException { @Cleanup InputStream in = new FileInputStream(args[0]); @Cleanup OutputStream out = new FileOutputStream(args[1]); byte[] b = new byte[10000]; while (true) { int r = in.read(b); if (r == -1) break; out.write(b, 0, r); } } }
3) @Getter / @Setter: (常用)
自动生成Getter/Setter方法(常用)
import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; public class GetterSetterExample { @Getter @Setter private int age = 10; @Setter(AccessLevel.PROTECTED) private String name; }
4) @NoArgsConstructor和@AllArgsConstructor: (常用)
自动生成无参数和全参数构造函数。
5) @Data: (常用)
自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)