목차

Lombok Upgrade

Upgrade 과정

문제된 설정들

1.16.20 lombok.anyConstructor.addConstructorProperties

1.18.4 Field 에 붙은 annotation 이 setter 로 복사됨

@JsonProperty("isSomething") boolean isSomething;
// 기존에는 이 필드와 Lombok이 생성한 ''boolean isSomething()'' 메소드 때문에 
// 프라퍼티가 JSON 필드가 두 개로 생성됨.
// 그런데 이 JSON을 사용하는 개발자가 something 프라퍼티를 사용했다.
 
// 버전업 이후 아래와 같이 setter 에도 애노테이션이 복제됨.
@JsonProperty("isSomething")
boolean setSomething(boolean sohmething) {
...
}
// 이로인해 Jackson 라이브러리는 setSomething/isSomething getter/setter 가 생성한
// ''something'' 프라퍼티를 json 필드로 만들지 않고 삭제해버림.
// something 프라퍼티 사용하던 곳은 모두 오류 발생.