今天使用lombok的@Builder
時,啟動專案時出現下面編譯錯誤。
> Task :compileJava
../demo/src/main/java/com/abc/demo/dto/MyClass.java:12: error: constructor MyClass in class MyClass cannot be applied to given types;
@Builder
^
required: no arguments
found: BrowserType,Integer,Integer
reason: actual and formal argument lists differ in length
Note: ...
1 error
> Task :compileJava FAILED
造成錯誤的類別Lombok設定如下。
MyClass
@Data
@Builder
@NoArgsConstructor
public class MyClass {
...
}
解決方式一是移除@NoArgsConstructor
。
MyClass
@Data
@Builder
public class MyClass {
...
}
解決方式二是加上@AllArgsConstructor
。
MyClass
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MyClass {
...
}
錯誤的原因可能是因為@Builder
自帶的全參數建構子生成效果被@NoArgsConstructor
覆寫掉了所導致。
參考:
沒有留言:
張貼留言