在 spring tool suite 如何安装 lombok

在 Spring Tool Suite (STS) 中安装 Lombok 的步骤如下:


1. 下载 Lombok Jar


2. 运行 Lombok 安装程序

  • 双击下载的 lombok.jar,会弹出 Lombok 安装界面。

  • 如果无法直接运行,可以通过命令行执行:

    bash 复制代码
    java -jar lombok.jar

3. 指定 STS 安装路径

  1. 在 Lombok 安装界面中,点击 "Specify Location""Install/Update"
  2. 手动定位到 STS 的安装目录(例如 /Applications/SpringToolSuite4.app),选择 SpringToolSuite4.ini 文件(STS 的配置文件)。
    • 确保选择的不是 eclipse.ini,而是 STS 自带的配置文件。

4. 修改 SpringToolSuite4.ini 文件

  • Lombok 会自动在 SpringToolSuite4.ini 中添加一行配置,例如:

    ini 复制代码
    -javaagent:/Applications/SpringToolSuite4.app/Contents/Eclipse/lombok.jar
  • 如果未自动添加,请手动将以下行添加到 SpringToolSuite4.ini 文件的 开头部分 (确保路径正确):

    ini 复制代码
    -javaagent:/Applications/SpringToolSuite4.app/Contents/Eclipse/lombok.jar

5. 验证安装

  1. 重启 STS。
  2. 创建一个简单的 Java 类,使用 Lombok 注解(如 @Data),如果代码无报错且能正常编译,说明安装成功。
  3. 也可以通过 STS 的 About Spring Tool SuiteInstallation DetailsPlug-ins 查看是否包含 lombok

6. 配置项目依赖(Maven/Gradle)

确保项目中已添加 Lombok 依赖:

Maven 项目
xml 复制代码
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version> <!-- 使用最新版本 -->
    <scope>provided</scope>
</dependency>
Gradle 项目
groovy 复制代码
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'

常见问题解决

  1. STS 启动报错

    • 检查 STS.ini-javaagent 的路径是否正确。
    • 确保 Lombok 版本与 STS 兼容(最新版通常没问题)。
  2. 注解不生效

    • 确保项目中已正确添加 Lombok 依赖。
    • 在 STS 中,选中某个项目,打开项目的设置,启用注解处理:
      Properties → Java Compiler → Annotation Processing → 勾选 Enable annotation processing
  3. 无法双击运行 lombok.jar

    • 通过命令行 java -jar lombok.jar 运行。
  4. 在 STS 中检查当前使用的 JRE

Preferences → Java → Installed JREs。

确保已选择 JDK (如 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home),而非 JRE
有的时候即使 STS 工具已经设置好了 JDK,但是项目里可能还是选了 JRE,我就是遇到这个问题,很隐蔽的坑,需要注意


通过以上步骤,Lombok 应该能在 STS 中正常工作。如果仍有问题,可以尝试重新安装或查看 Lombok 日志文件(安装时会提示路径)。

相关推荐
qq_5470261792 分钟前
Maven 使用指南
java·maven
xiaolyuh12310 分钟前
Arthas修改类(如加日志)的实现原理
java
栗子叶14 分钟前
Java对象创建的过程
java·开发语言·jvm
有一个好名字24 分钟前
力扣-从字符串中移除星号
java·算法·leetcode
zfj32133 分钟前
CyclicBarrier、CountDownLatch、Semaphore 各自的作用和用法区别
java·开发语言·countdownlatch·semaphore·cyclicbarrier
2501_9167665439 分钟前
【JVM】类的加载机制
java·jvm
Sag_ever40 分钟前
Java数组详解
java
张np40 分钟前
java基础-ConcurrentHashMap
java·开发语言
一嘴一个橘子1 小时前
spring-aop 的 基础使用 - 4 - 环绕通知 @Around
java
小毅&Nora1 小时前
【Java线程安全实战】⑨ CompletableFuture的高级用法:从基础到高阶,结合虚拟线程
java·线程安全·虚拟线程