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

当@RequiredargsConstructor与@Builder结合时,我无法使其工作

颜霖
2023-03-14
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class Test
{
   private final String email;
   private final String name;
   private String password;
}

一切工作正常,正如预期的那样,但是当我添加@Builder注释时:

import lombok.Builder;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Builder
public class Test
{
   private final String email;
   private final String name;
   private String password;
}

在生成过程中,我得到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project example: Compilation failure
[ERROR] /C:/[...]/Test.java:[9,1] constructor Test in class [...]Test cannot be applied to given types;
[ERROR]   required: java.lang.String,java.lang.String
[ERROR]   found: java.lang.String,java.lang.String,java.lang.String
[ERROR]   reason: actual and formal argument lists differ in length

这是龙目虫还是我做错了什么?

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.RequiredArgsConstructor;
import okhttp3.OkHttpClient;

import java.util.concurrent.TimeUnit;

@RequiredArgsConstructor
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@Builder
public class Test
{
   private final String email;
   private final String name;
   private String password;

   @Builder.Default
   private final long timeout = 60000L;

   private OkHttpClient okHttpClient = new OkHttpClient.Builder().readTimeout(timeout, TimeUnit.MILLISECONDS).build();
}
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project example: Compilation failure
[ERROR] /C:/[...]/Test.java:[25,79] variable timeout might not have been initialized

共有1个答案

漆雕皓轩
2023-03-14

您需要添加@AllArgsConstructor以使其可用于生成器。

如果您没有指定任何构造函数,@builder将创建一个,但是如果至少有一个构造函数,则不会。

试试这个:

import lombok.*;

@RequiredArgsConstructor
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@Builder
public class Test
{
   private final String email;
   private final String name;
   private String password;
}
 类似资料:
  • 问题内容: 我构建了一个PyQt5 GUI来进行一些selenium测试。除PyQt进度条外,其他所有操作均按预期进行。 在下面的第一个示例中,当我使用Selenium浏览器时,最后,当浏览器关闭时,进度条只会跳到100%。但是,selenium工作正常。 但是,在下面的此版本中,在Selenium浏览器被注释掉的情况下,进度条可以按预期工作。 问题答案: 阻塞任务与在其中执行GUI的事件循环不友

  • 我正在尝试在我网站上的图表上应用缩放功能。或多或少,图表的实际代码是我在以下CodePen中添加的代码:https://codepen.io/leonardodaga/pen/eYNZdVV 此示例有效,但我正在尝试使用不同的 xAxis 类型(不是“时间”),并使用回调来格式化 xAxis 刻度线(现在在 CodePen 中注释): 移除类型:“时间”缩放结束工作。我正在做的事情有问题吗?

  • 我需要用新顶点更新我的网格。我这样创建VBO(最初创建时只有一个顶点): 然后我要更新VBO缓冲区,并将新顶点写入其中。请注意,我创建VBO是为了给我的新顶点留有足够的空间,并且我控制它不会被过度填充。我还控制每个渲染调用绘制多少元素,因此我不会绘制空的0/0/0顶点。 我的问题是,这段代码可以工作: 因此,当我传递整个顶点数组,从头开始重新分配VBO内存时,它就会提取出我所需要的内容。但是我希望

  • 现在,我需要合并一个使用log4j2的库。当我这样做时,我丢失了主应用程序的控制台日志记录(尽管日志消息仍然被写入以编程方式创建的文件追加器)。 我认为,由于文件追加器在原始应用程序中工作,我可以通过在主应用程序中以编程方式创建一个控制台追加器来解决我的问题。然而,我不知道这是对的还是胡说八道。 那么,我的问题是:关于使和log4j2互操作,我需要了解什么一般性的知识吗?如果原始应用程序编码不正确

  • 问题内容: 我刚刚在xcode 6 beta中打开了现有项目。但是由于以下错误消息而崩溃。 xib在xcode beta上运行是否有任何解决方法? 问题答案: 这解决了Interface Builder问题。

  • 我真的无法解决这个问题。首先,我从STS创建了一个Spring模板项目(Spring MVC)。 然后我完全复制了http://blog.terrencemiao.com/archives/spring-3-shacks-up-jsf-2-the-maverick-way报告的代码,它对我不起作用。 我认为那段代码中至少有一个错误,那就是“应用程序onfigure.xml应该是应用程序ontext