龙目岛不使用 STS

Lombok not working with STS

虽然我喜欢 lombok,但它有时在配置时会带来太多问题,特别是在 Linux 中。当我尝试安装它时,出现以下错误:

我尝试按照此处的建议手动设置 https://github.com/rzwitserloot/lombok/issues/95 但这也没有成功。有什么建议吗?

我在 Lombok 的代码中发现了一个错误。因为他们在此提交中为 STS 修复了它:

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

他们总是两次添加结束目录名称。因此,为了解决这个问题,我将我的安装文件夹重命名为与我的父文件夹同名。

现在选择安装目录的时候我会选择外层文件夹

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

龙目岛的新选择位置: /home/ansh/softwares/sts

  • 我已经更新了以下 link。

Lombok not generating getter and setter STS

尽管成功安装了 lombok 并重新启动了 STS,我还是遇到了这个问题,所以:

  • 关闭 STS 和
  • 正在启动

有效(而不是重新启动它)。看到这个:http://codeomitted.com/setup-lombok-with-stseclipse-based-ide/

双击 lombok.jar(可从此站点或您的 Maven 存储库下载;它们是同一个 jar)。

这将启动 eclipse/STS 安装程序,它将找到 eclipse(和上面列出的 eclipse 变体),并提供将 lombok 安装到这些 eclipse 安装中。同样的工具也可以卸载lombok。资料来源:https://projectlombok.org/setup/eclipse

我通过双击 jar 文件并选择 spring 工具套件 IDE 安装了 lombok。即使在手动将 jar 添加到项目构建路径后重新启动 IDE 并重建项目,大纲也没有显示 getters 和 setters。 然后将 lombok jar 文件放入 Spring 工具套件的 plugin 文件夹中,然后重新启动。 getter 和 setter 开始出现在 class 大纲 window 中,如下所示:

按照以下步骤操作:

  1. download lombok from https://projectlombok.org/download
  2. double click on lombok.jar and specify the path of your ide and click install.
  3. Restart your ide.
  4. clean your project. If you are using eclipse or sts, click on Project->clean..

对于安装程序在安装时抛出错误的用户,可以按照以下步骤手动安装。

  1. 先关闭STS。
  2. ~/.m2 存储库复制 lombok-x.xx.xx.jar。 (例如 ~\.m2\repository\org\projectlombok\lombok.16.14\lombok-1.16.14.jar
  3. 将复制的 jar 重命名为 lombok.jar 并将其粘贴到 STS 主目录中 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. 转到 help>About Spring Tool Suit 并检查。您将看到类似“Lombok v1.16.14 "Candid Duck" is installed. https://projectlombok.org/
  7. 的消息
  8. 对于任何现有的项目错误,项目上的 RCL,转到 Maven>Update Project

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

这是我Mac书上的路径。

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

它就像一个魅力。

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

-vmargs
-javaagent:lombok.jar

在 Linux, 我将 lombook.jar 文件复制到 STS 文件夹。 然后,我在 STS.ini 文件

中添加了以下行
-vmargs
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

但是还是没有解决问题。使用 -clean 启动 STS 后,它确实起作用了。

转到包含 STS 文件的文件夹,然后在控制台上 运行 ./STS -clean。

我遇到了同样的问题,即 lombok 无法在 STS 上运行。 对我来说根本原因是 我的STS安装目录有空格

-javaagent:E:\Installation Directory with spaces\sts-X.X\lombok.jar

STS.ini中,并将其更改为相对路径后

-javaagent:lombok.jar

lombok 开始工作了。

对于尝试了所有方法(包括从 lombok.jar 手动指向 STS 位置)但仍无法使其正常工作的任何人,这可能是由于有关 lombok.jar 的权限问题。请参阅 vancleff 的

如果您使用的是 STS4 并且在 SpringToolSuite4.ini 文件中具有如下所示的自定义 -vm 参数。


-虚拟机

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


然后您需要将以下内容添加到您的 SpringToolSuite4.ini 文件中。


-vmargs

-java代理人:lombok.jar


我已经做了以下部分:

  1. 你可以将lombok-1.18.10重命名为lombok.jar。

  2. 复制lombok.jar与SpringToolSuite4.ini文件相同的路径并安装。 java -jar lombok.jar.

退出 STS

  1. 将 lombok.jar 复制到 SpringToolSuite4.ini 文件附近并安装它(/Applications/SpringToolSuite4.app/Contents/Eclipse/ 在我的例子中):

java-罐子lombok.jar

  1. 转到终端并运行:

    cd /Applications/SpringToolSuite4.app/Contents/Eclipse/

  2. 运行 java -jar lombok.jar

    将显示一个 GUI 从 GUI 选择 Specify location.. Select路径:SpringToolSuite4.app-Content-Eclipse-SpringToolSuite4.ini

在 ini 文件的末尾插入了一个新行(在我的例子中是): -java代理:/Applications/SpringToolSuite4.app/Contents/Eclipse/lombok.jar

我猜你可以手动添加该行,但你必须在路径中的预期位置添加 lombok.jar!

清理项目。

有些人安装 STS,而其他人 运行 直接从文件夹中安装它们。此方法适用于 ubuntu 18.04 和 STS 4.5。希望其他 Linux 发行版也一样。

  1. 退出 STS。

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

  3. 现在 运行 罐子。如果您安装了 STS,则需要 sudoers 权限或从文件夹中使用,无需使用 sudo。

    sudo java -jar lombok.jar

  4. 现在弹出错误提示,Lombok 找不到 STS IDE,要求我们手动 select STS 运行nable。

  5. 如果你的系统中安装了STS你应该找到类似这样的路径,

    /opt/sts-4.5.1.RELEASE/SpringToolSuite4

    如果您从文件夹中使用,只需 select 运行nable 的正确路径。

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

  6. 现在 运行“Install/Update”在罐子里。应该显示安装成功。

  7. 现在打开 sts 并清理/刷新您的项目。

如果你下载下面的STS版本,按照设置。 Lombok 与 STS 完美配合。

版本:4.7.0.RELEASE 内部版本号:202006181331

版权所有 (c) 2007 - 2020 Pivotal, Inc. 版权所有。访问 https://spring.io/tools

本产品包含由 Eclipse 基金会 https://www.eclipse.org

本产品包含由 Apache 软件基金会 https://www.apache.org

已安装 Lombok v1.18.12“Envious Ferret”。 https://projectlombok.org/

  1. 我已经从 .m2 目录中删除了所有 lombok 版本
  2. 再次运行 从项目中安装 mvn 并将 lombok jar 安装在 .m2 中
  3. 复制lombok jar到eclipse安装文件夹,运行 java -jar lombok..jar并安装。
  4. 在 eclipse 的 java 编译器中启用注释处理

它开始工作了。

我的环境是 - windows、java 8 和 eclipse 2020-06。

每个人做的主要事情是安装lombok作为jar并通过双击jar使用sts进行配置,但是忘记了将此 lombok jar 复制到 sts/eclipse 安装文件夹。

如果您正在使用 sts4 并想添加 lombok 功能,那么

1-从 https://projectlombok.org/download

下载 lombok.jar 文件

2-将其复制到包含SpringToolSuite4可执行文件的文件夹中。

  1. 打开 SpringToolSuie4.ini 文本文件并添加(如果不存在)。 -vmargs -javaagent:lombok.jar

4 清除 sts 菜单栏中 project/clean 中的所有现有项目。

5 重新启动应用程序。

  1. 转到 Maven 存储库并下载最新的 Lombok jar。
  2. 运行 来自 cmd 的 jar;在我的例子中是 java -jar lombok-1.18.16.jar.
  3. 它会打开一个弹出窗口,要求您使用 STS JDK 配置 Lombok。浏览 STS.exe 的位置并将其粘贴到弹出窗口中。
  4. 导航到您的 STS 下载文件夹,打开 STS.ini 文件(此文件的类型显示为配置设置)。
  5. 用记事本打开文件,你应该会看到添加了一个新行,比如 -javaagent your STS folder location lombok-jar

重新启动您的 STS...您应该没问题。

您可以手动提供 IDE 的位置。可能相似 /opt/sts-4.7.2.RELEASE/

2,如果你的IDE路径有空格,那么IDE可能会在启动时出错,对于这个问题:手动修改eclipse.iniSpringToolSuite4.ini文件,行

-javaagent:/home/<jar-path-here>/lombok.jar 
  1. 转到您的 Maven 本地存储库(例如, .m2\repository\org\projectlombok\lombok.18.20) 然后打开
    lombok jar 并提供 SpringToolSuite4.exe.
  2. 的路径
  3. 验证 lombok jar 与您的 SpringToolSuite4.exe &
    在同一路径中 "-javaagent:C:\Users\sss\Downloads\sts-4.10.0.RELEASE\lombok.jar"
    SpringToolSuite4.ini.
  4. 中的此类路径
  5. 然后通过关闭 sts 并手动重新打开来重新启动 sts。 sts 的重启功能对我不起作用。

这个解决方案对我有用。

  1. 为 Lombok 添加 maven 依赖
  2. 现在您应该可以在位置 C:\Users\abcd.m2\repository\org\projectlombok\lombok.18.20
  3. 找到 lombok-1.18.20.jar(可执行文件)
  4. 转到上面的位置并在命令提示符下执行下面给出的命令。 java-jar lombok-1.18.20.jar
  5. 上面的命令会弹出一个窗口。单击弹出窗口中的“确定”按钮,然后单击“指定位置”按钮。如下所示为您的 STS 安装提供位置,它应该单击“Install/Update”按钮

单击install/update后,您可以在sts安装文件夹中看到lambok.jar。见下文。

  1. 从 STS 安装文件夹中复制此 Lombok jar 并将其粘贴到 sts 插件文件夹中。

  1. 开始你的 sts
  2. 现在你可以看到你所有的错误都会消失。

试试这个很有帮助。如果您仍然阻止,请告诉我

https://link.medium.com/THr4L44x0jb

我尝试了接受的解决方案中给出的步骤,但它对我不起作用。 我正在使用 STS 4.12。我发现的问题是,最新的 sts 4.12 版本带有以下 ini 条目以及 lombok 安装程序所做的更改:

  -- {startup detail}
    -vmargs
    -Dosgi.requiredJavaVersion=11
  -- {vmargs details}
    -javaagent:C:\softwares_bkp\sts-4.12.0.RELEASE\lombok.jar

将 -Dosgi.requiredJavaVersion 的条目更改为 1.8 对我有用。

我使用的是 ubantu 18.04 和 sts 4.12.1,我通过 运行 sudo java -jar lombok.jar 安装,然后选择 spring 工具套件 IDE。即使在重新启动 IDE、重建并手动将 jar 添加到项目构建路径之后,lombok 也无法正常工作。然后将lombok jar 文件放入Spring 工具套件 的插件文件夹中,然后重新启动。 成功了!!!

如果你们仔细看最后的Lombok安装弹出窗口,那么它明确提到:

我做的完全一样,我的问题已经解决了。下面是我完整的 STS .ini:

-startup
plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1300.v20200819-0940
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vm
plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_15.0.0.v20201014-1246/jre/bin
-vmargs
-javaagent:lombok.jar
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
-javaagent:C:\E_Drive\Softwares\SpringToolSuite\sts-4.8.1.RELEASE\lombok.jar

多一个选项

STS->帮助->安装新软件(粘贴在下方url)

https://projectlombok.org/p2

select龙目岛->下一步->安装

我遇到了同样的问题,它包含两个 Lombok jar(一个在我的 .m2 存储库中(在 c 驱动器中),另一个在我的项目中(显示错误的地方))。我删除了我的 .m2 存储库中的一个,它解决了问题!!!