Java Lombok没有生成getter和setter

Java Lombok没有生成getter和setter,java,eclipse,maven,lombok,Java,Eclipse,Maven,Lombok,我只是想把一个基于Maven的项目发送到另一台计算机, 到处都是红色标记 然而,mvn clean install正在构建中 很快,我注意到Lombok没有为我的类生成Getter和Setter,尽管Eclipse能够正确识别@Getter和@Setter 两台计算机使用相同的Maven版本(3.0.4),但JDK不同(1.6_23和1.6_33)。它们都使用Eclipse Indigo 32位。您对如何解决这个问题有什么想法吗?在开始新的eclipse安装时,您实际上需要先“安装”Lombok

我只是想把一个基于Maven的项目发送到另一台计算机, 到处都是红色标记

然而,
mvn clean install
正在构建中

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


两台计算机使用相同的Maven版本(3.0.4),但JDK不同(1.6_23和1.6_33)。它们都使用Eclipse Indigo 32位。您对如何解决这个问题有什么想法吗?

在开始新的eclipse安装时,您实际上需要先“安装”Lombok,然后才能使用它

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

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

    当安装窗口打开时,您必须选择Eclipse的位置,并让它在内部安装lombok。之后必须重新启动Eclipse。

    • 如果使用STS,则必须通过运行Lombok-xyz.jar在Eclipse中安装Lombok

    • 请尝试以下步骤:

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

    • 启动STS

    就这些

    编辑: 我这样做了,但仍然显示出错误,正如评论中提到的那样。
    因此,我更新了项目:右键单击project->Maven->Update project,错误消失。

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

  • 安装lombok jar,您可以从中获得它。运行jar(如果使用windows,则以管理员身份)并指定Eclipse/STS安装的路径

  • 重新启动IDE(Eclipse或STS)

  • 给eclipse一些时间为lombok生成类文件(在某些情况下可能需要4分钟)


  • 这些是命令行指令,上面的图形版本不可用,或者您不能通过双击打开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>
    
    上述命令基本上会在IDE
    .ini
    配置文件中更新配置,如下所示:

    -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
    注释。奇怪的是,它竟然如此复杂。

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

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

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

    下载Lombok Jar文件

    添加maven依赖项:

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

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

    -javaagent:lombok.jar
    

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


    我正在使用Red hat Jboss developer studio。我通过以下方式解决了这个问题:

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

  • 双击jar,您将看到安装程序在那里为IDE指定路径,如
    C:\Users\xxx\devstudio\studio\devstudio.exe

  • 重新启动IDE并更新maven项目,错误将消失


  • 如果您正在使用maven,请转到项目结构中的maven依赖项,然后将lombok jar作为java项目运行,它将安装它,然后退出并启动eclipse(1)运行命令
    java-jar lombok-1.16.10.jar
    。这需要从lombok.jar文件的目录中运行

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

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


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

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

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

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


    最后通过单击“安装/更新”来安装它,我要做的是在eclipse安装目录中安装
    lombok

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

    java -jar lombok.jar
    
    然后确保
    lombok.jar
    被添加到构建路径中。但是请确保不要添加两次,只需通过
    maven
    gradle
    添加一次,然后再在eclipse路径中添加一次<
    java -jar lombok.jar
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.8</version>
                <scope>provided</scope>
            </dependency>
    
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    
    ch.qos.logback.classic.net.SimpleSSLSocketServer
    ch.qos.logback.classic.net.SimpleSocketServer