Lombok:RequiredArgsConstructor 在生成构造函数时出错
Lombok: RequiredArgsConstructor giving error while generating Constructor
似乎 @RequiredArgsConstructor 在代码 below.It 中不起作用会在我生成构造函数时抛出错误。为什么会这样?
import lombok.Data;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
/**
* Login response object containing the JWT
**/
@Data
@RequiredArgsConstructor
public class LoginResult {
@NonNull
private String jwt;
public LoginResult(String jwt) {
this.jwt = jwt;
}
}
maven中添加的依赖是
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
错误是 - LoginResult
类型中的重复方法 LoginResult(String)
当您使用 Lombok 的 @RequiredArgsConstructor
时,它会为每个需要特殊处理的字段生成一个带有 1 个参数的构造函数。在您的情况下,jwt 字段上的 @NonNull
表示 jwt
字段需要特殊处理(基本上是空检查)。现在 lombok 添加了一个构造函数,甚至您也添加了一个构造函数,因此出现了错误。 Duplicate method LoginResult(String) in type LoginResult
您可以在下一页 https://projectlombok.org/features/constructor 上找到有关它的更多信息。 (添加屏幕截图以防将来发生变化)
Solution:
删除构造函数,让 Lombok 施展魔法
似乎 @RequiredArgsConstructor 在代码 below.It 中不起作用会在我生成构造函数时抛出错误。为什么会这样?
import lombok.Data;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
/**
* Login response object containing the JWT
**/
@Data
@RequiredArgsConstructor
public class LoginResult {
@NonNull
private String jwt;
public LoginResult(String jwt) {
this.jwt = jwt;
}
}
maven中添加的依赖是
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
错误是 - LoginResult
类型中的重复方法 LoginResult(String)当您使用 Lombok 的 @RequiredArgsConstructor
时,它会为每个需要特殊处理的字段生成一个带有 1 个参数的构造函数。在您的情况下,jwt 字段上的 @NonNull
表示 jwt
字段需要特殊处理(基本上是空检查)。现在 lombok 添加了一个构造函数,甚至您也添加了一个构造函数,因此出现了错误。 Duplicate method LoginResult(String) in type LoginResult
您可以在下一页 https://projectlombok.org/features/constructor 上找到有关它的更多信息。 (添加屏幕截图以防将来发生变化)
Solution:
删除构造函数,让 Lombok 施展魔法