【问题标题】:Lombok problems with Eclipse OxygenEclipse Oxygen 的 Lombok 问题
【发布时间】:2018-01-09 17:37:51
【问题描述】:

我最近升级到了新的 Eclipse 版本(氧气)。我从网站上下载了 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,如下所示:

但是当在其他类中使用 getter/setter 和/或构造函数时,我得到了这个错误:

这些也是我的 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/

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

【问题讨论】:

  • 这可能是注释处理器的问题。检查它是否已打开。
  • 这不是意味着@Override 注释也不起作用吗?事实并非如此。
  • 当我以管理员身份运行 eclipse 时,解决的问题是在我的办公室计算机上。 (龙目岛安装后的ofc)

标签: eclipse lombok


【解决方案1】:

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

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

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

  2. 执行命令:java -jar lombok.jar

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

  4. 添加 jar 以构建路径/将其添加到 pom.xml。

    例如用于 Gradle 构建

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

注意:请阅读下图中有关 -vm 选项的注意事项 如果您开始 带有自定义 -vm 参数的 Eclipse,您需要添加:

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

也可以作为参数

以上步骤适用于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 日)或更高版本。

【讨论】:

  • 顺便说一句,我相信安装程序确实会更改您的 eclipse.ini,从而省去了手动操作的麻烦。
  • 这就像一个魅力。但是为什么使用 eclipse-oxygen 而不是 eclipse-photon 呢??
  • @dkb 我使用了 photon,getter 和 setter 方法从未得到解决,直到我意识到 eclipse 没有 lombok 而项目有。谢谢。
  • 哦,知道了,@Eswar,仅供参考,您还需要为 IntelliJ-idea ide 安装 Lombok 插件,以备日后使用。
  • 对我来说,安装 Lombok 后 eclipse 没有启动。我修改了 eclipse.ini 文件,指定了 lombock.jar -javaagent:C:\YOUR_PATH_TO_ECLIPSE\eclipse\lombok.jar 的路径
【解决方案2】:

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

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

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

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

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

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

【讨论】:

  • 当您在 Eclipse > About Eclipse 框中查看是否已安装 Lombok 时,请务必向下滚动文本窗口。您要查找的内容显示在图标行上方的文本中。此外,请务必强制干净构建您的项目。
  • @KCBaltz 你是绝对正确的!我会相应地更新我的帖子。
【解决方案3】:

Lombok does not work for Eclipse Neon

 - 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

【讨论】:

  • 实际上这对我有用 Eclipse IDE 版本:2020-09 (4.17.0) 构建 ID:20200910-1200
【解决方案4】:

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的位置正确,我必须明确指定:/[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 等)中安装相同的版本。

【讨论】:

    【解决方案5】:

    不要使用旧版本的 java。

    发生的事情是,lombok 在你的 eclipse.ini 中加入了以下行:

    -javaagent: lombok.jar
    

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

    问题是windows安装创建的快捷方式是这样的:

    填写“Start at”路径即可:

    【讨论】:

    • 救命哥! - 非常感谢我使用的:Eclipse IDE for Java Developers 版本:Oxygen.1a Release (4.7.1a) Build id: 20171005-1200 OS: Windows 7, v.6.1, x86_64 / win32
    【解决方案6】:

    我和 Alex 也有同样的问题。 我的eclipse版本是

    版本:Oxygen.1a 版本 (4.7.1a) 内部版本 ID:20171005-1200

    我安装了 lombok 1.16.18,在检查它已经安装并且 javaagent 行被添加到我的 eclipse.ini 文件之后。

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

    1. 清洁项目

    2. 建设项目

    3. 重启 eclipse 几次

    没有别的了。

    【讨论】:

    • 太棒了..我不得不做两次。
    【解决方案7】:

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

    1. 关闭 Eclipse
    2. 从您的启动器中解锁 Eclipse
    3. 从 .desktop 应用程序启动 Eclipse
    4. 验证“帮助 --> 关于”表明已安装 lombok(向下滚动)
    5. 再次锁定您的启动器

    这似乎是由于应用程序“锁定到启动器”的一些问题,这是修复它的解锁/锁定过程。

    (感谢cardamon 的评论here 为我指出了这个解决方案)

    【讨论】:

    • 花了这么多时间试图让这件事发挥作用,直到我找到了你的解决办法。非常感谢!!
    【解决方案8】:

    解决方法:

    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

    【讨论】:

      【解决方案9】:

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

      【讨论】:

        【解决方案10】:

        在日食氧气中龙目岛也有问题。

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

        我通过将它添加到我的 eclipse.ini 中来引用 lombok:

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

        -javaagent:/DEV/Tools/lombok-1.16.18/lombok.jar

        【讨论】:

          【解决方案11】:

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

          (Eclipse Oxygen 4.7.1a,OpenJDK 1.8.0_151-b12)

          【讨论】:

            【解决方案12】:

            很多解决方案,没有一个能解决我的问题。

            Eclipse Oxygen 3a April 2018 安装程序工作正常,

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

            【讨论】:

              【解决方案13】:

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

              【讨论】:

                【解决方案14】:

                按照以下步骤,

                1. https://projectlombok.org/download下载lombok-jar

                2. 转到下载 lombok-jar 的目录并运行以下命令, java -jar lombok-1.18.4.jar

                3. 上面的命令会打开一个窗口,

                4. 指定 Eclipse 应用程序位置,然后单击安装/更新并继续。下面的屏幕将得到显示,

                点击退出安装程序。

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

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

                【讨论】:

                  【解决方案15】:

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

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

                  1. 在 Eclipse 中,转到“帮助”->“安装新软件..”
                  2. 在“使用”中输入https://projectlombok.org/p2,然后按 Enter。现在它应该如下所示
                  3. 选择“Lombok”并继续设置。安装完成后,重启 eclipse。

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

                  1. 在 Eclipse 中,转到“帮助”->“关于 Eclipse IDE”。
                  2. 在打开的对话框中,如有必要,向下滚动并检查以下行 'Lombok v1.xx.xx "Envious Ferret" 已安装。 https://projectlombok.org/'

                  【讨论】:

                    【解决方案16】:

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

                    【讨论】:

                    • 我多次重启了eclipse,我通过双击jar安装了lombok,我可以在其中选择安装路径。所以不是这样。谢谢你
                    【解决方案17】:

                    您可以通过命令行非常轻松地安装 lombok,~/softwares/Eclipse.app/ 指向您的 eclipse 或 sts 应用程序的路径(这是在 mac 上),但它也适用于不同的操作系统,它会为您提供成功的输出。

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

                    输出:

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

                    【讨论】:

                      【解决方案18】:

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

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

                      2.1.9.发布

                      当我将其简化为适合我的以下版本时

                      2.1.7.发布

                      【讨论】:

                        【解决方案19】:

                        如果您已成功安装 Lombok 并且仍然遇到问题,请右键单击您的项目 > maven > 更新项目,这应该可以工作。

                        【讨论】:

                          【解决方案20】:

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

                          1. 首先下载lombok jar(添加到pom,它将下载。您可以从该位置运行(从您的maven存储库位置)
                          2. 从你的 maven repo 位置运行 jar (java -jar lombok.jar)
                          3. 选择你的 eclipse.exe 位置并安装。
                          4. 将 jar 添加到 maven/类路径

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

                          -javaagent:lombok.jar 的位置
                          -Xbootclasspath/a:lombok.jar

                          注意 - 如果按照这些步骤操作后缺少任何行,请添加到您的 eclipse.ini 并享受您的工作。

                          【讨论】:

                            【解决方案21】:

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

                            【讨论】:

                              【解决方案22】:

                              简单的方式只需下载 lombok.jar 打开 eclipse 点击 project 进入 build path添加一个外部jar 并导入jar 重启eclipse 一切都解决了

                              【讨论】:

                                【解决方案23】:

                                注意如果你在 eclipse 运行时做所有的 avobe 事情,那么你会 没有得到更改,所以只需重新启动 ecrise,您就会丢失更改

                                【讨论】:

                                  【解决方案24】:

                                  Eclipse 需要特定的 java 版本

                                  -vmargs
                                  -Dosgi.requiredJavaVersion=11
                                  

                                  Lombok 与 Java 版本无关,source

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

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

                                  【讨论】:

                                    【解决方案25】:

                                    您好,我解决了这个问题,只需在 pom.xml 中编辑 lombok 依赖项

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

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

                                    【讨论】:

                                      猜你喜欢
                                      • 2018-01-28
                                      • 1970-01-01
                                      • 2018-04-23
                                      • 2017-01-05
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2012-09-10
                                      • 1970-01-01
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多