Lombok在STS中无法工作

40

尽管我很喜欢lombok,但有时在配置中会出现太多问题,特别是在Linux上。 当我试图安装它时,我遇到了以下错误:enter image description here

我尝试手动设置,如在此处建议https://github.com/rzwitserloot/lombok/issues/95,但仍然没有成功。有任何建议吗?

31个回答

83

7
@Janet - 我已经正确地按照所有步骤操作了,但它仍然无法正常工作。你有什么想法吗? - PAA
1
如果不起作用,请更改lombok版本,然后再试一次。 - GoutamS
2
在完成上述步骤后,请确保重新启动STS,然后在STS中检查: “帮助>关于Spring Tool Suit”,然后滚动到底部的部分,您应该会看到类似以下内容: “已安装Lombok v1.16.22“Envious Ferret”。https://projectlombok.org/” 谢谢GoutamS。 - ASH
1
那张图片中的第一步是什么意思?“在Maven中包含pom”? - GreenAsJade
2
对我来说,我还需要执行一个步骤,就是将 Lombok jar 放置在插件下并重新启动。它起作用了! - TechSingh
显示剩余4条评论

39

如果安装程序出错,可以按照以下步骤手动安装:

  1. 首先关闭STS。
  2. ~/.m2仓库中复制lombok-x.xx.xx.jar。(例如:~\.m2\repository\org\projectlombok\lombok\1.16.14\lombok-1.16.14.jar)
  3. 将复制的jar文件重命名为lombok.jar并粘贴到STS主目录中的启动器exe旁边。(例如:D:\spring-tool-suite-3.9.0.RELEASE-e4.7.0-win32-x86_64\sts-bundle\sts-3.9.0.RELEASE\)
  4. 打开STS.ini(该文件的名称根据STS版本而异)并在末尾输入-javaagent:lombok.jar行。
  5. 重新启动STS。
  6. 转到帮助>关于Spring Tool Suit并检查。您将看到一个消息如:Lombok v1.16.14 "Candid Duck" is installed. https://projectlombok.org/
  7. 对于任何现有项目错误,请右键单击该项目,然后转到Maven>Update Project

1
这个对我很有帮助!_7. 对于任何现有项目错误,请右键单击该项目,转到Maven>更新项目。 - Surya Rao Rayarao
1
是的,第四步解决了我的问题,谢谢。 - Amit Garg

30

对于Mac OSX上的STS,请选择.ini文件,而不是.exe文件。

这是我的Macbook上的路径。

/Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini

它能完美地工作。


2
重启STS后,您可以到左上角的Spring Tool Suite 4->关于Spring Tool Suite 4,滚动屏幕右侧的侧边栏,在屏幕顶部的右半部分下面,您会看到安装了“Lombok v1.18.24”(“嫉妒的雪貂”)。https://projectlombok.org/ - Janet

13

这对我也起作用了。感谢分享细节。 - Vinod Akkepalli
我花了2个小时进行一些更改并在降落前直接重启STS,结果像魔法一样奏效。 - Shahul Basha
这对我也起作用了。重启也没有帮助。 - Chinna T
我使用的是Windows机器,重启无效。在完成上述第4步后,我结束了应用程序并重新启动。我不得不进行Maven更新以摆脱现有的错误。 - dev

9
当我将-javaagent参数推到可变参数列表的顶部并重新启动STS时,它对我有效。默认情况下,当您安装Lombok时,Lombok会在ini文件末尾添加此参数。例如:
-vmargs
-javaagent:lombok.jar

1
这对我有用。 有几个关于lombok.jar文件的引用,包括一个带有“-vmargs -javaagent:lombok.jar”的引用。 我删除了其他引用并按照您上面显示的方式拆分了该行,然后它就起作用了。 谢谢! - John
我还将lombok.jar文件添加到了sts.exe旁边以及插件文件夹中,但我不确定哪个是正确的位置。 - John
1
唯一有效的方法是,我将javaagent参数移动到第一个vmargs,并更新了我的maven项目,然后它就活了起来。非常感谢@ThanhPhan。 - jaysman
这对我有效...但是我想知道为什么? - vishal munde

6
我在 Lombok 的代码中发现了一个 bug。他们在这个提交中为 STS 修复了它:

https://github.com/rzwitserloot/lombok/commit/c3a3c09f4fd00b83814c1949fa5282ac9c595fa3

他们总是会将结尾的目录名称添加两次。所以我通过给我的安装文件夹重命名为与父文件夹相同的名称来解决这个问题。

现在,在选择安装目录时,我会选择外部文件夹。

新的安装目录:/home/ansh/softwares/sts/sts

新的lombok选择位置:/home/ansh/softwares/sts


6

有些人安装STS(Spring Tool Suite),而其他人直接从文件夹中运行。这种方法适用于Ubuntu 18.04和STS 4.5,希望对其他Linux发行版也是一样的。

  1. 退出STS。

  2. 从官网下载Lombok:https://projectlombok.org/download

  3. 现在运行jar文件。如果您已经安装了STS,则需要sudo权限,或者直接从文件夹中运行无需sudo。

    sudo java -jar lombok.jar

  4. 现在会弹出错误信息,Lombok找不到STS IDE,并要求我们手动选择STS可执行文件。

  5. 如果您已经在系统中安装了STS,则应该能够找到类似以下路径:

    /opt/sts-4.5.1.RELEASE/SpringToolSuite4

    如果您正在从文件夹中使用,则只需选择正确的可执行文件路径即可。

    /home/sysname/sts-4.5.1.RELEASE/SpringToolSuite4

  6. 现在运行jar中的"Install/Update"。它应该显示“Installation is successful(安装成功)”。

  7. 最后打开STS并清理/刷新您的项目。


将Lombok添加到STS的最简单方法 - Abhishek K

5
请按照以下步骤操作:
  1. https://projectlombok.org/download下载Lombok。
  2. 双击lombok.jar并指定您的IDE路径,然后点击安装。
  3. 重启您的IDE。
  4. 清理您的项目。如果您使用Eclipse或STS,请点击Project->clean..

3
如果您正在使用STS4,并且在SpringToolSuite4.ini文件中有自定义的-vm参数,类似下面的内容:

-vm

C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.242-3\bin\javaw.exe


那么您需要将以下内容添加到您的SpringToolSuite4.ini文件中:

-vmargs

-javaagent:lombok.jar


我已经完成以下部分:
  1. 您可以将lombok-1.18.10重命名为lombok.jar。

  2. 将lombok.jar复制到SpringToolSuite4.ini文件的同一路径下并安装它。 运行'java -jar lombok.jar'。


3

这个解决方案对我有用。

  1. 添加Lombok的Maven依赖。
  2. 现在你应该能够在此位置找到lombok-1.18.20.jar(可执行文件):C:\Users\abcd.m2\repository\org\projectlombok\lombok\1.18.20
  3. 进入上面的位置,在命令提示符中执行以下命令。 java -jar lombok-1.18.20.jar 输入图像描述
  4. 上述命令将弹出一个窗口。点击弹出窗口中的“OK”按钮,然后点击“指定位置”按钮。按照下面展示的方式将位置指定为STS安装位置,然后点击“安装/更新”按钮。 输入图像描述

输入图像描述

输入图像描述

点击“安装/更新”后,你可以在STS安装文件夹中看到lombok.jar。如下所示。

输入图像描述

  1. 把这个Lombok jar从STS安装文件夹复制粘贴到插件文件夹。

输入图像描述

  1. 启动STS。
  2. 现在你应该能够看到所有的错误都已经消失了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接