MapStruct와 Lombok 의존성 충돌 해결

생성일
2025/01/31 06:45
BE
날짜
2024/11/28
담당자

문제 상황

StudyPostMapper에서 Lombok이 생성해야 할 Getter/Setter를 MapStruct가 참조하지 못하는 문제 발생. Gradle에서 annotationProcessor 의존성 설정 문제로 인해 MapStruct가 Lombok보다 먼저 실행되면서 오류가 발생.

원인

Gradle의 annotationProcessor 의존성 순서가 올바르지 않음. Lombok이 MapStruct보다 늦게 실행되어 Lombok이 생성한 Getter/Setter를 MapStruct가 참조하지 못함. 결과적으로 매핑 클래스를 생성하는 과정에서 오류가 발생함.

해결

build.gradle에서 Lombok 의존성MapStruct 의존성 위로 배치. Gradle의 annotationProcessor는 선언된 순서대로 실행되므로, Lombok이 먼저 Getter/Setter를 생성하도록 수정. IDE 설정에서도 Lombok이 정상적으로 동작하도록 확인. 의존성 관련 코드 생성 순서를 조정하며, "코드 생성 의존성 > 코드 활용 의존성" 순서를 지켜야 함을 학습함.