У меня есть проект Java, в котором используется Lombok (библиотека Java, которая автоматически подключается к редактору и инструментам сборки)
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = { "id" })
@ToString(of = { "id" })
public class DacContexte {
private Long id;
...
}
и этот:
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DacContexteReturn extends DacContexte {
}
но когда я делаю строитель:
return DacContexteReturn.builder()
.id(5L)
.build();
Я получил эту ошибку:
Required type: DacContexteReturn
Provided: DacContexte
Не могу воспроизвести.
> mkdir tmpDir
> cd tmpDir
> nano DacContexte.java
import lombok.*;
import lombok.experimental.*;
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = { "id" })
@ToString(of = { "id" })
public class DacContexte {
private Long id;
}
> nano DacContexteReturn.java
import lombok.*;
import lombok.experimental.*;
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = { "id" })
@ToString(of = { "id" })
public class DacContexte extends DacContexteReturn {
private Long foo;
}
> nano Test.java
class Test {
void foo() {
DacContexteReturn dcr = DacContexteReturn.builder().id(5L).build();
}
}
> javac -cp ~/lombok.jar *.java
[ no errors or warnings ]
Убедитесь, что вы используете последний ломбок (в настоящее время 1.18.16), и если это не решит проблему, убедитесь, что вы точно описали проблему. Если эта ошибка возникает в eclipse или intellij, обновите вопрос.
у меня такая же проблема, githubmemory.com/repo/rzwitserloot/lombok/issues/2826
вы можете попробовать без
@AllArgsConstructor
вDacContexteReturn
это должно решить вашу проблему