当前位置: 首页 > 知识库问答 >
问题:

Lombok不创建构造函数

薛烨
2023-03-14

@adilooze解决方案

public static void main(String[] args) {
    List<Person> list = new ArrayList<Person>();
    list.add(new Person("AA","xx", 18));
    list.add(new Person("BB", "yy", 21));
    list.add(new Person("CC", "zz", 36));

    Gson gson = new Gson();
    String json = gson.toJson(list);

    System.out.println(json);
}
public class Person {
    @NonNull private String name;
    private String lastname;
    @NonNull private int age;
}
<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.6</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
</build>

共有1个答案

史默
2023-03-14

如果您正在使用IntelliJ,请在设置中打开注释处理。

注意:您可能还需要安装IntelliJ Lombok插件

 类似资料:
  • 我试图用创建一个基本配方类,但Lombok似乎没有正确创建所需的args构造函数。虽然它将成功创建其他构造函数,例如,但即使我使用/注释了值,所需的args构造函数也是空的。我已仔细检查是否已导入。 这是我的课程的精简版本: Lombok创建的构造函数是空的,我在构建的类文件中签入了它。 请注意,当我在类中使字段为最终字段时,Lombok将创建适当的所需args构造函数: 因此,它似乎忽略了注释。

  • 已经给出了所有的DTO@data、@noargsconstructor、@allargsconstructor,所以理想情况下所有的构造函数都应该可用。 我已经尝试用新旧版本的Spring tool suite和更改的lombok jar来构建这个项目。但同样或不同的错误仍在出现。 用STS4和STS 3.9.7尝试,3.9.8同样的问题即将到来。尝试龙目岛1.16.22、1.18.0、1.18.

  • 问题内容: 我正在将Lombok项目与Spring Data JPA一起使用。有什么方法可以将Lombok 与JPA默认构造函数连接? 码: 据我所知,JPA需要默认的构造函数,该构造函数被注解覆盖。有什么解决方法吗? 这段代码给我错误: 问题答案: 更新 根据反馈和John的回答,我已更新了不再使用or的答案,而是通过和创建访问器和变量,通过创建默认构造函数via,最后我们创建了构建器通过via

  • 我使用默认构造函数从子类中设置recordId的值,最初没有使用lombok。最终我决定在这里使用构建器,但现在的问题是lombok构建器在内部覆盖了我的默认构建器,因此从未设置值。

  • 问题内容: 我有这个简单的代码: 首先,我只使用了Lombok批注,一切都很好。但是我添加了构造函数,并且代码不再编译。错误是: 所以我有两个问题: 为什么龙目岛与此构造函数不兼容? 考虑到需要构建器和构造器,如何使代码编译? 问题答案: 您可以添加注释,因为 如果未定义其他构造函数,则生成all-args构造函数。 (引用@Andrew Tobilko) 或将属性设置为:这为您提供了复制构造函数