BugNote
MapStruct와 Lombok 사용시 주의 사항
제뉴어리맨
2022. 10. 2. 02:31
DTO와 Entity에 롬복의
@Getter, @Setter를 사용한 상태에서
MapStruct로 맵핑을 하려고 할때
build.gradle에서 의존성 순서에 따라 MapStruct가 생성하는 Mapper의 구현체의 내용이 다르게 생성된다.
만약, MapStruct를 먼저 추가하고 Lombok의 의존성을 추가할 경우
Mapper 구현체안에 Setter와 Getter로 매핑을 해주는 내용이 생성되지 않는다.
그러므로 아래와 같이 꼭! Lombok을 먼저 추가하고, MapStruct를 후에 추가하자!
//Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//mapstruct
implementation 'org.mapstruct:mapstruct:1.5.1.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.1.Final'
결론 : MapStruct와 Lombok을 사용할 경우
dependencies {} 안에 Lombok 관련 의존성 먼저 추가하고, 후에 MapStruct 의존성을 추가하자.