mapstruct cannot find implementation for 에러 해결
2021-07-26
공식문서에 써있는 사용법은 아래와 같다.
dependencies {
...
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
}
근데 이렇게 하니 계속해서 에러가 발생했다.
정확히는 콘솔에 결과는 나오는데 테스트가 성공하지 못했다.
cannot find implementation for
몇 시간을 낭비하고 해결했는데 방법은 임포트 순서를 변경한다.
...
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
Update Project 후 테스트하니 바로 성공했다.
mapstruct를 mapper를 정의한 후에는 gradle build를 실행하고 사용해야 한다.
그렇지 않으면 생성 된 파일이 없거나 정의 한 코드가 없어서 인식을 못한다.
빌드를 했는데 아래 경로에 파일이 없으면 안된다.
\build\generated\sources\annotationProcessor\java\main\com\프로\젝트이름\dto\mapper\***MapperImpl.java