【问题标题】:Lombok is not generating getter and setterLombok 没有生成 getter 和 setter
【发布时间】:2012-08-01 23:42:23
【问题描述】:

我只是试图将一个基于 Maven 的项目发送到另一台计算机上,然后 HORROR, 到处都是红色标记!!

但是,mvn clean install 正在构建中。

很快,我注意到 Lombok 没有为我的类生成 getter 和 setter,尽管 Eclipse 可以正确识别 @Getter@Setter

两台计算机使用相同的 Maven 版本 (3.0.4) 但不同的 JDK(1.6_23 和 1.6_33)。他们都使用 Eclipse Indigo 32 位。你知道如何解决这个问题吗?

【问题讨论】:

  • 有关完整说明,请参阅stackoverflow.com/questions/3418865/…。这还包括如何通过快捷方式启动 Eclipse。
  • 我完成了上述所有步骤,但仍然无法正常工作。我再次查看 pom.xml 并注释掉默认出现的 。我后来添加了这个 但也将其注释掉了。
  • 为什么只有 Lombok 似乎有这个问题,似乎是有意设计的(为了引起注意)?其他注释 jar 中的装饰器似乎在导入后才可以工作。

标签: java eclipse maven lombok


【解决方案1】:

实际上,当您开始全新的 Eclipse 安装时,您需要“安装”Lombok 才能使用它。

  1. 转到 Lombok jar 所在的位置(例如(例如,您可以在 ~/.m2/repository/org/projectlombok/lombok/1.16.10/lombok-1.16.10.jar 中找到),运行它(例如:java -jar lombok-1.16.10.jar)。应该会出现一个窗口,浏览到您的 eclipse.exe 位置。
  2. 点击安装。
  3. 启动 Eclipse,更新所有项目的项目配置,瞧。

【讨论】:

  • 如果即使在执行了上述步骤之后它仍然不起作用,那么 EXIT 并再次开始 eclipse。简单文件-> 重启不起作用。显式 EXIT 和 Start 是必要的。
  • 我相信我是在 eclipse 关闭时这样做的
  • 如果它已关闭,则可以在下次启动时使用。但是如果它已经启动并且需要显式退出和启动。
  • 干得好@Elidosa --- 它正在工作,但是需要退出并启动 eclipse ,只有重启不起作用
  • 我还需要清理项目以消除编译错误
【解决方案2】:
  • 如果您使用 STS。您必须通过运行 lombok-xyz.jar 在 Eclipse 中安装 Lombok

  • 请尝试以下步骤:

    1. 在 Maven 中包含 pom。
    2. 退出/关闭 STS
    3. 在 ~/.m2/repository/org/projectlombok/lombok/version.x 中找到 lombok Jar
    4. 来自命令提示符/Shell java -jar lombok-1.x.y.jar

    5. 启动 STS

就是这样。

编辑: 我这样做了,但仍然显示错误,如 cmets 中所述。 所以我更新了项目:右键单击项目 -> Maven -> 更新项目,错误消失了。

【讨论】:

  • 我仍然面临这个问题,不确定发生了什么问题?
  • 您有任何错误信息吗?你能在你的 Pojo 文件中导入这个类吗?
  • @Prateek 如果不工作,请更换lombok版本。再试一次
  • 我手动下载了 lombok.jar,运行它,然后重新启动 eclipse 并重建项目,它成功了!...
  • 我有同样的问题尝试了一切但没有奏效。然后我所做的是,我安装了新的,在做任何事情之前我安装了 Lombok。有效。此外,请确保您从新的工作区开始。它不适用于旧版本。
【解决方案3】:

请注意,如果您使用的是 IntelliJ,则需要安装 Lombok 插件(可从 IDE 设置中获得)并启用注释处理。

【讨论】:

  • 当他们面临同样的事情并且不知道 IntelliJ 是否需要该插件时,仍然有几个人会来到这个线程。竖起大拇指
  • 如果是 Netbeans?有什么想法吗?
【解决方案4】:

下载Lombok Jar,让maven代我们下载:

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

现在...在新创建的项目上执行 mvn clean install 命令,将这个 jar 下载到本地存储库中。 转到 jar 位置,执行命令提示符,运行命令: java -jar lombok-1.16.18.jar

单击“指定位置”按钮并找到 eclipse.exe 路径 喜欢 :

最后通过点击“安装/更新”来安装它

【讨论】:

  • 这是迄今为止我找到的最简单的解决方案。有效。谢谢。
【解决方案5】:

如果你使用日食。您必须通过运行 lombok-xyz.jar 在 Eclipse 中安装 lombok(例如,您可以在 ~/.m2/repository/org/projectlombok/lombok/1.12.6/lombok-1.12.6.jar 中找到)。

随着安装窗口的打开,您必须选择 Eclipse 的位置。并让它在里面安装lombok。之后您必须重新启动 Eclipse。

【讨论】:

  • "显式退出然后重新开始。"。普通文件-->重启不起作用。
【解决方案6】:

这些是命令行指令,上面的图形版本不可用,或者您无法通过双击打开 Lombok jar 文件,如在 Ubuntu 中。

在撰写本文时,使用 Lombok 并不简单,只需在 POM xml 文件中添加依赖项并添加注释即可。这些是接下来的步骤:

1) 找到 maven 下载 Lombok jar 文件的位置;通常它位于主目录内的 .m2 文件夹中。然后执行以下命令。

java -jar lombok-1.16.18.jar install <path of where your IDE is installed>

示例用法:

java -jar lombok-x.xx.xx.jar install ~/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/

上述命令基本上会在您的 IDE .iniconfiguration 文件中进行配置更新,如下所示:

-javaagent:/home/neshant/Downloads/spring-tool-suite-3.9.1.RELEASE-e4.7.1a-linux-gtk-x86_64/sts-bundle/sts-3.9.1.RELEASE/lombok.jar

这可确保 IDE 能够理解 @Data@Getter@Setter 注释。奇怪的是它必须如此复杂。

【讨论】:

  • 在这里,我在 2020 年仍然发现您的帖子很有用。谢谢!
【解决方案7】:

如果你使用maven和Eclipse,必须手动安装。

  1. 验证 pom

 <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <type>jar</type>
        </dependency>
  1. 转到 Maven 依赖项

  1. 在库中右键单击并作为 Java 应用程序运行

  1. 指定位置 IDE,安装并关闭 IDE (Eclipse)。

【讨论】:

  • 我遵循了您描述的所有步骤,但使用 eclipse 2019-12 和 lombok 1.18.12,eclipse 无法识别我的模型中有 \@getter 或 \@setter 注释。 lombok 是否有一个 getter 或 setter 生成器?
【解决方案8】:

仅仅添加 Lombok 的依赖是不够的。 你也必须安装龙目岛的插件。

您可以通过导航来获取您的 Lombok jar 文件(仅当您在任何 POM 中添加了依赖项时。)

m2\repository\org\projectlombok\lombok\1.18.12\lombok-1.18.12

另外,如果 Lombok 找不到 IDE,请手动指定 IDE 的 .exe 并单击安装。

重新启动您的 IDE。

就是这样。

如果你遇到任何问题,

下面是一个关于如何安装龙目岛插件的美丽而简短的视频。

为了节省您的时间,您可以从 1:40 开始。

https://www.youtube.com/watch?v=5K6NNX-GGDI

如果还是不行,

验证 lombok.jar 是否存在于您的 sts.ini 文件中(sts 配置文件,存在于 sts 文件夹中。)

-javaagent:lombok.jar

按 Alt+F5。这将更新您的 Maven。

关闭您的 IDE 并重新启动它。

【讨论】:

  • 这个答案怎么连一票都没有。这真的很有帮助。非常感谢。
【解决方案9】:

如果您使用 STS。您必须通过运行 lombok-abc.jar 在 Eclipse 中安装 Lombok

请按照以下步骤操作:

-在 Maven 中包含 pom。 -Exit/Shutdown STS(必须) - 在 ~.m2\repository\org\projectlombok\lombok\1.18.12 中找到 lombok Jar -从命令

之后

然后选择STS.exe

然后点击更新/更新

然后退出安装程序

快乐编码

块引用

【讨论】:

  • 重复回答
【解决方案10】:

对于 Sprint STS - 将 lombok.jar 文件放在 eclipse/sts exe 文件夹中,并将以下条目添加到 STS.ini。

-javaagent:lombok.jar

【讨论】:

    【解决方案11】:

    Eclipse IDE 解决方案:

    1. pom.xml 中的 Maven 依赖项

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    

    2。转到 Maven 依赖 jar >> 右键单击​​ >> 运行方式 >> Java 应用程序

    3.选择Socket Server并点击OK

    ch.qos.logback.classic.net.SimpleSSLSocketServer
    ch.qos.logback.classic.net.SimpleSocketServer
    

    4.在控制台上显示消息,例如:

    参数数量错误。 用法:java ch.qos.logback.classic.net.SimpleSocketServer 端口配置文件

    【讨论】:

      【解决方案12】:

      我花了一整天,你可以这样:

      1. 添加到 maven lombok
      2. 安装eclipse
      3. 下载龙目岛
      4. 复制到eclipse文件夹
      5. 添加到文件 eclipse.ini 下一个文本 -javaagent:lombok.jar
      6. 选择项目(不是父项目)中的活动注释处理
        -> 属性 -> Java 编译器 -> 注释处理 选择启用项目特定设置全选启用复选框
      7. 重新启动,它应该可以工作。测试 ubuntu 20.04 和 eclipse 2021 年

      【讨论】:

        【解决方案13】:

        在全新安装的 Eclipse 或 STS 上使用 lombok 时,您必须:

        1. 安装可以在https://projectlombok.org/download 获得的lombok jar。运行 jar(如果使用 Windows,则以管理员身份)并指定 Eclipse/STS 安装的路径。

        2. 重新启动 IDE(Eclipse 或 STS)

        3. 给 Eclipse 一些时间来为 lombok 生成类文件(在某些情况下可能需要长达 4 分钟)

        【讨论】:

          【解决方案14】:

          对于 Mac 上的 Spring ToolSuite 4,他们将 ini 重命名为 SpringToolSuite4.ini。

          您可以重命名或将其复制到 STS.ini 以被 lombok 识别。然后将其复制回原始名称以供 IDE 读取。 (虽然符号链接有效,但没有尝试过。)

          【讨论】:

            【解决方案15】:

            我正在使用红帽 Jboss 开发者工作室。我通过以下方式解决了这个问题:

            1. 项目具有lombok 依赖项。首先查看您的.m2 存储库并找到lombok jar

            2. 双击jar,你会看到安装程序在那里指定IDE的路径,如C:\Users\xxx\devstudio\studio\devstudio.exe

            3. 重启IDE并更新maven项目会报错

            【讨论】:

            • 欢迎来到 StackOverflow!请尝试使用正确的列表和markdown language like this,使您的答案更具可读性。
            【解决方案16】:

            1) 运行命令java -jar lombok-1.16.10.jar。这需要从您的 lombok.jar 文件的目录中运行。

            2) 通过选择eclipse.ini 文件(安装的eclipse 目录)手动添加位置。通过“指定位置

            注意:不要添加eclipse.exe,因为它会使eclipse编辑器损坏。

            How to add the eclipse.ini file

            【讨论】:

              【解决方案17】:

              我也遇到了这个问题,就我而言,这是因为我在没有升级 Lombok 插件的情况下升级了 IntelliJ IDEA。所以它们是不兼容的。

              【讨论】:

              • 只需升级 Intellij Idea 中的 Lombok 插件并重启 IDE
              【解决方案18】:

              下载Lombok Jar文件https://projectlombok.org/downloads/lombok.jar

              添加maven依赖:

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

              开始Lombok安装java -jar lombok-1.16.18.jar

              在此链接中查找完整示例:
              https://howtodoinjava.com/automation/lombok-eclipse-installation-examples/

              【讨论】:

                【解决方案19】:

                我要做的是在eclipse安装目录中安装lombok

                here 下载lombok.jar,然后使用以下命令进行安装:

                java -jar lombok.jar
                

                然后确保将lombok.jar 添加到您的构建路径中。但请确保不要通过 mavengradle 添加一次,然后在 eclipse 路径中添加一次。

                之后cleanbuild 再次项目,所有错误都消失了。

                【讨论】:

                  【解决方案20】:

                  Intellij 用户,确保你有 3 样东西,

                  1. Lo​​mbok 依赖项
                          <dependency>
                              <groupId>org.projectlombok</groupId>
                              <artifactId>lombok</artifactId>
                              <version>1.18.8</version>
                              <scope>provided</scope>
                          </dependency>
                  
                  1. Lombok 的 IntelliJ 插件

                  2. Lombok 注释,例如 @Getter @Setter(确保它来自 lombok 而不是其他地方)

                  它应该可以工作。

                  【讨论】:

                    【解决方案21】:

                    在 mac os lombok 中将无法找到 eclipse 位置。 请单击指定位置并转到 eclipse 安装文件夹 你可以找到eclipse.ini文件选择那个

                    【讨论】:

                      【解决方案22】:

                      似乎上面的答案在某些情况下是可以的,但我的情况不知何故运作良好。

                      所以,我做了什么(对我有用):

                      1. 我使用 Spring Suit 4 (SpringToolSuite4.exe)
                      2. 项目必须是 maven-project
                      3. 我直接安装 lombok 我在 pom.xml (1.18.12) 中放入的版本不起作用
                      4. 我改通过Market Place安装lombok最新版本,使用站点:https://projectlombok.org/p2,版本为1.18.22
                      5. 我现在在我的SpringToolSuite4.ini 中看到这一行:-javaagent:D:\xxx\eclipse\sts-4.13.0.RELEASE\plugins\org.projectlombok.agent_1.18.22/lombok.jar
                      6. 重新打开我的 STS 并按:ALT+F5(打开您的 maven 项目),单击“确定”并等待所有项目构建完成

                      他们正在工作。

                      讨论

                      这可能首先是所有解决方案都在工作,但由于我们一直认为的版本,我们需要使用与 pom.xml 中相同的版本,但它也可以与最新版本一起使用(如果有人有,请纠正我评论)。

                      Point 2. maven 项目,我从上面的其他解决方案开始,但仍然出现错误;我们必须以某种方式确保这一点。

                      再备注一下当您在 About Spring Tool(或 About Eclipse)中没有看到一行消息时,意味着您的 lombok 安装不正确,可能再次尝试我的上述解决方案。

                      希望此讨论对其他人有所帮助。

                      【讨论】:

                        【解决方案23】:

                        从私有静态字段中删除 @Getter。

                        https://github.com/rzwitserloot/lombok/issues/1493

                        【讨论】:

                          【解决方案24】:

                          如果您使用的是 maven,请转到项目结构中的 maven 依赖项,然后将 lombok jar 作为 java 项目运行,它将安装它然后退出并启动 eclipse

                          【讨论】:

                            猜你喜欢
                            • 2015-11-23
                            • 2020-05-19
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2020-10-11
                            • 1970-01-01
                            • 1970-01-01
                            相关资源
                            最近更新 更多