Menelaos
Menelaos

Reputation: 26005

Lombok causing "Actual and formal arguments lists differ in length error"

I have the following class:

@Builder @NoArgsConstructor
public class ConsultationPointOfContact {
    private String fullName;
    private String phoneNumber;
    private String userLogin;   
}

When the @Builder annotation exists, it is causing problems with the @NoArgsConstructor.

I am getting the error:

Error:(11, 1) java: constructor ConsultationPointOfContact in class models.ConsultationPointOfContact cannot be applied to given types;
  required: no arguments
  found: java.lang.String,java.lang.String,java.lang.String
  reason: actual and formal argument lists differ in length

Upvotes: 60

Views: 32954

Answers (3)

Jeff Tian
Jeff Tian

Reputation: 5893

Met the same issue with lombok and gradle. The same code works with maven, but throws error when using the gradle way.

So the issue turns out to be with lombok and gradle, so I searched the keywords lombok gradle, and find an article: https://projectlombok.org/setup/gradle.

By referencing the article's tip and added the following to build.gradle, then it works like a charm!

...
dependencies {
...
    compileOnly 'org.projectlombok:lombok:1.18.22'
    annotationProcessor 'org.projectlombok:lombok:1.18.22'
    testCompileOnly 'org.projectlombok:lombok:1.18.22'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.22'
...
}
...

Upvotes: 14

For me works this: - upgrade or install Lombok plugin on IntellIJ and enable annotation processing checkbox for your module

enter image description here

Upvotes: 8

Antoniossss
Antoniossss

Reputation: 32517

Add @AllArgsConstructor as well and this should fix the issue

Upvotes: 130

Related Questions