Eclipse Oxygen 的 Lombok 问题

Lombok problems with Eclipse Oxygen

我最近升级到新的 Eclipse 版本 (Oxygen)。我从网站下载了 lombok.jar 并安装了它。这是 eclipse.ini 安装后的样子:

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
C:\Users\xxx\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-javaagent:lombok.jar

我可以在这里使用 Lombok:

但是在其他 类 中使用 getters/setters and/or 构造函数时,我得到了这个错误:

还有这些是我的 Eclipse 和 Lombok 版本:

Eclipse Java EE IDE for Web Developers.
Version: Oxygen Release (4.7.0)
Build id: 20170620-1800
Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/

有人知道我该如何解决吗?

有类似的问题,但真的不记得是什么帮助了我。 当然你可以尝试重启 Eclipse。 确保您在 lombok 安装中提到了正确的 Eclipse 路径。 这是您可以找到其他潜在解决方案的主题:Cannot make Project Lombok work on Eclipse (Helios)

在 eclipse oxygen 中 lombok 也有问题。

我的解决方案:从 java 版本 8u144 返回到 8u141。

我通过将此添加到我的 eclipse.ini:

来引用 lombok

-Xbootclasspath/c:/DEV/Tools/lombok-1.16.18/lombok.jar

-java代理:/DEV/Tools/lombok-1.16.18/lombok.jar

不要使用旧版本的 java。

lombok 会在您的 eclipse.ini 中添加以下行:

-javaagent: lombok.jar

而lombok.jar在C:\eclipse\jee-oxygen\eclipse目录

问题是 windows 安装创建的快捷方式如下所示:

填写"Start at"路径即可:

我的环境:java 版本“1.8.0_144”

日食: 面向 Web 开发人员的 Eclipse Java EE IDE。 版本:氧气释放(4.7.0) 构建 ID:20170620-1800

  1. 退出 Eclipse(如果它打开)并从 https://projectlombok.org/download

  2. 下载 jar
  3. 执行命令:java -jar lombok.jar

  4. 此命令将打开 window,如下所示 https://projectlombok.org/setup/eclipse,安装并退出安装程序。

  5. 添加 jar 以构建 path/add 它到 pom.xml。

    例如对于 Gradle 构建

 annotationProcessor("org.projectlombok:lombok")
 compileOnly("org.projectlombok:lombok")
  1. 重新启动 eclipse。
  2. 转到 Eclipse --> 关于 Eclipse --> 检查 'Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/'
  3. 要为项目启用 Lombok:Enable annotation processing 在各自的 IDE 中。 而已。有效。 我没有更改 eclipse 初始化脚本。

Note: Read the note in following image regarding -vm options If you start Eclipse with a custom -vm parameter, you'll need to add:

-vmargs -javaagent:<path-to-lombok-jar>/lombok.jar

as parameter as well

以上步骤适用于 Photon Release (4.8.0) - Lombok v1.18.2eclipse: Oxygen.3a Release (4.7.3a) - Lombok v1.18.0eclipse: Neon.3 Release (4.6.3) - Lombok v1.18.2

lombok 成功画面:

仅供参考,
对于 JDK - 10 和 11 support: Lombok 版本应至少为 v1.18.4(2018 年 10 月 30 日)或更高版本。

对于 MacBook Pro 用户(例如 运行 macOs Sierra v10.12.6),为了安装 lombok on Eclipse Oxygen (4.7.0) or Photon (4.8.0),使用 Java 1.8 (1.8.0_144),只需执行以下操作:

  1. 从站点 Project Lombok;
  2. 下载 lombok
  3. 关闭你的 Eclipse IDE 如果它是打开的;
  4. 触发 lombok 安装,方法是遵循 official installation steps 或执行以下命令:java -jar lombok.jar;
  5. 如果 lombok 安装程序没有找到您的 Eclipse IDE,您将被要求输入 Eclipse 的路径。您应该输入 eclipse.ini 文件的路径。在我的例子中是 /tools/ide/eclipse/jee-oxygen/Eclipse.app/Contents/Eclipse/eclipse.ini.
  6. 退出安装程序并打开 Eclipse。
  7. 在菜单栏上,转到 Eclipse > 关于 Eclipse 并验证 lombok 是否已安装:

    Lombok v1.16.18 "Dancing Elephant" is installed. https://projectlombok.org/
    

    请务必向下滚动文本 window,因为已安装的 Lombok 版本出现在图标行上方的文本中。

  8. 最后,根据您使用的构建工具,将lombok添加到项目的构建路径中。例如,对于 Maven,使用以下依赖项:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
        <scope>provided</scope>
    </dependency>
    

我和 Alex 有完全相同的问题。 我的 eclipse 版本是

Version: Oxygen.1a Release (4.7.1a) Build id: 20171005-1200

我安装了 lombok 1.16.18,检查它是否已经安装后,我的 eclipse.ini 文件中也添加了 javaagent 行。

一切都很好,除了在项目中调用 getter 时出现编译错误。这很尴尬,但我通过 :

修复了
  1. 清洁项目

  2. 建设项目

  3. 重启eclipse几次

没有别的。

如果重新启动 Eclipse 没有帮助。您必须退出应用程序并确保终止所有 运行 java 进程。这对我有用。

(Eclipse Oxygen 4.7.1a,OpenJDK 1.8。0_151-b12)

解法:

  1. 按照lombok网站的指示安装lombok 1.16.18。 Eclipse最好在安装的时候关闭

  2. 确保Eclipse可以正常启动。在快捷方式上,更改属性,并填写“Start in”路径,它将按照 Thomas 和 Fabiano 的说明工作。

  3. Eclipse 打开后,更新项目的 Maven 以解决编译错误。

  4. 现在 Lombok 最新版本可以与 Eclipse 最新版本一起使用。

供参考:

我的 Eclipse:氧气

Version: Oxygen.2 Release (4.7.2)
Build id: 20171218-0600 

我的JRE/JDK: 1.8

java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

龙目岛 1.16.18

对于从锁定到您的启动器的启动器(一个 .desktop 文件)启动 Eclipse 的 Linux/Ubuntu 用户,并且您的帮助 --> 关于对话框不显示已安装 lombok:

  1. 关闭 Eclipse
  2. 从您的启动器解锁 Eclipse
  3. 从 .desktop 应用程序启动 Eclipse
  4. 验证 "Help --> About" 表示已安装 lombok(向下滚动)
  5. 再次锁定您的启动器

这似乎是由于应用程序 'lock to launcher' 的一些问题而起作用的,unlock/lock 进程修复了它。

(感谢 cardamon's comment here 让我找到了这个解决方案)

我遇到了同样的问题,但是,最初的开发是用 lombok 1.16.10 完成的,我安装了 1.16.18。当我下载并安装 1.16.10 时,一切正常。我可能需要进行一些清理和重建才能使其与 .18 一起使用,但如果您赶时间,请尝试一下。

Eclipse Oxygen、Java 1.9Lombok(在 Mac OSX - windows/linux应该差不多)。

这是我必须做的:

  1. 下载最新的lombok: 1.16.20
  2. 打开eclipse,检查更新并安装所有更新。确保eclipse更新到最新。
  3. 退出 eclipse。
  4. java -jar lombok.jar
  5. 确保 Eclipse 的位置在弹出的安装程序中是正确的 window,我必须明确指定:/[some-folder-heirarchy]/Eclipse.app/Contents/Eclipse/eclipse.ini

然后检查更新是否已在 eclipse.ini:

-javaagent:/[some_folder-hierarchy]/eclipse-oxygen/Eclipse.app/Contents/Eclipse/lombok.jar

只有一行更新。这是对 lombok 某些早期版本的更改,其中还指定了 bootclasspath 和/或 lombok.jar 的路径是相对的。现在是绝对路径了。

调出 eclipse,您会看到 Lombok 正在运行。

并且不要忘记在您的 maven 或任何其他依赖项管理工具中使用相同的 Lombok 版本。

编辑 1: 我还在 maven POM 中使用了与安装在 eclipse 中的不同版本的 Lombok 和大多数情况下,编译了一些东西,但在 eclipse 中有一些编译错误。当然,在命令行上用 maven 编译成功的东西。因此,如果您的项目依赖项迫使您使用不同的 Lombok 版本,那么请注意这种可能性。关键是要在 eclipse 和项目的依赖管理(maven 等)中安装相同的版本。

不少解决方案,none解决了我的问题。

Eclipse Oxygen 3a 2018 年 4 月,安装程序运行良好,

我的问题是 运行 DCEVM JRE 上的日食。将 Eclipse 指向未修改的 JVM 解决了这个问题。

 - You should not just "restart" Eclipse, go to File -> Exit and then
   open it again.
 - Don't forget to do a mvn clean just to make sure that you recompiled your classes. 
 - After all this you should also right-click on your project, then Maven -> Update Project

你好,我解决了这个问题,只需在 pom.xml

中编辑 lombok 依赖项
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.16</version>
    <scope>provided</scope>
</dependency>

这个版本似乎适用于 java 8.

您可以通过命令行非常轻松地安装 lombok,~/softwares/Eclipse.app/ 您的 eclipse 或 sts 应用程序的路径(在 mac 上),但它也适用于不同的 OS,它会给你成功的输出。

java -jar lombok.jar install ~/softwares/Eclipse.app/

输出:

Lombok installed to: /Users/temp/softwares/Eclipse.app

我正在使用 STS。 执行上面显示的 lombok.jar 安装后,需要执行以下任务。 STS -> 项目 -> 属性 -> Java 编译器 -> 注释处理 -> 启用注释处理。 参见 here

我尝试了所有这些,但对我没有用。 Lombok 库仍然没有添加到我的类路径中。

我使用的是最新的 spring-boot 版本

2.1.9.RELEASE

当我将其缩减为适用于我的以下版本时

2.1.7.RELEASE

如果您已成功安装 Lombok 但仍然遇到问题,请右键单击您的项目 > maven > 更新项目这应该有效。

按照以下步骤修复 eclipse 中的 lombok 问题

  1. 首先下载 lombok jar(添加到 pom,它将下载。你可以 运行 从那个位置(从你的 maven 存储库位置)
  2. 运行 来自你的 maven repo 位置的 jar (java -jar lombok.jar)
  3. select 你的 eclipse.exe 位置和安装。
  4. 将 jar 添加到 maven/class 路径

在此之后,您将能够在 eclipse.ini 文件中看到以下行

-java代理:lombok.jar
的位置 -Xbootclasspath/a:lombok.jar

注意 - 如果执行这些步骤后有任何行丢失,请添加到您的 eclipse.ini 并享受您的工作。

我在 eclipse 中遇到过同样的问题。安装成功,但我在代码中发现错误。一个简单的 Maven 更新解决了这个问题。在 eclipse 中是 Alt+F5.

按照以下步骤操作,

  1. https://projectlombok.org/download

    下载 lombok-jar
  2. 转到下载 lombok-jar 的目录,然后 运行 下面的命令, java-jar lombok-1.18.4.jar

  3. 以上命令会打开一个window,

  4. 指定 eclipse 应用程序位置,然后单击 install/update 并继续。下面的屏幕将得到显示,

单击退出安装程序。

  1. 重启 IDE。检查是否安装了 Lombok。转到 -> 关于 Eclipse ->

  2. 你会看到安装好的lombok,如下图,

简单的方法就是下载 lombok.jar 打开 eclipse 点击右边的 project go to 构建路径添加一个外部jar并导入jar重新启动eclipse,一切都解决了

注意如果您在 Eclipse 处于 运行 时执行上述所有操作,那么您将 没有得到更改,所以只需重新启动 eclipse,您就会发现更改

我遇到了同样的问题,并且为解决这个问题付出了很多努力。我正在尝试使用 lombok v1.18.14,它无法在 eclipse 上设置(如 changelog 中所述),因此请确保您不要使用它。

以下解决方案对我有用,而且实施起来很简单。 此解决方案适用于几乎所有 eclipse 版本。

  1. 在 Eclipse 中,转到 'Help'-> 'Install New Software ..'
  2. 在'Work with'中输入https://projectlombok.org/p2并回车。现在它应该如下所示
  3. Select 'Lombok' 并继续设置。安装完成后,重启eclipse。

为确保成功安装 Lombok,请按照以下步骤操作(重启 eclipse 后):

  1. 在 Eclipse 中,转到 'Help'-> 'About Eclipse IDE'。
  2. 在打开的对话框中,如有必要向下滚动并检查下面的行 'Lombok v1.xx.xx“嫉妒雪貂”已安装。 https://projectlombok.org/'

Eclipse 需要特定的 java 版本

-vmargs
-Dosgi.requiredJavaVersion=11

并且 Lombok 与 java 版本无关,source

所以你需要选择兼容的版本,例如

  • eclipse-2021-09-R
  • lombok-1.18.20
  • jdk-15.0.1