-
QueryDSL + Lombok 프로젝트 구성 시 'cannot find symbol'이 뜬다면?오답 노트 2024. 12. 26. 09:42
신규 작업 프로젝트에서 갑자기 QueryDSL이 필요해졌습니다.
종속성을 추가하고 QClass들을 만들어낸 뒤에 프로젝트 빌드를 하니 갑자기 'cannot find symbol' 문구가 뜨면서 entity와 slf4j를 찾을 수 없다는 빌드 오류가 발생했습니다.
이상하다 싶어서 좀 자세히 찾아보니 설정값을 제대로 안해놨더라구요..
기존에 오류발생시에는 Processor Path를 직접 지정해준 jar파일로 사용했었는데, 이게 다른 서브 모듈들과의 차이로 인하여 서로간의 종속성이 제대로 로드되지 않았고, 그로 인하여 프로젝트 내에서 당연히 가져와야 했던 클래스들을 찾지 못한다는 황당한 문구가 놔왔었습니다.
위와 같이 설정을 바꿔주고 아래 pom.xml에서 plugin 내부 configuration의 outputDirectory를 맞게 변경해주었습니다.
... <plugin> <groupId>com.mysema.maven</groupId> <artifactId>apt-maven-plugin</artifactId> <version>1.1.3</version> <executions> <execution> <goals> <goal>process</goal> </goals> <configuration> <outputDirectory>target/generated-sources/annotations</outputDirectory> <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> </configuration> </execution> </executions> </plugin> ...
(대부분은 기본적으로 annotations가 아닌 java로 되어있으실겁니다.)
프로젝트 내 설정에 맞추어 모듈 설정을 변경하였더니 정상적으로 실행이 되네요.
이노무 symbol 때문에 고통이 상당하네요 ㅠㅠ
'오답 노트' 카테고리의 다른 글
[Spring Cloud + JWT + Redis] Spring Cloud Gradle 멀티모듈 환경에서 Redis 연결 오류 (1) 2025.03.10 [Nginx] 파일 송신 시 413 Request Entity Too Large Axios 에러 (0) 2024.10.15 [오답노트] Docker 환경에서 Vue + Vite Proxy 설정 (웹서버 프록시 설정) (0) 2024.04.29 [Ubuntu & Docker] E: Package 'docker-ce' has no installation candidate (0) 2024.04.25 [Vue.js 3] vue/multi-word-component-names 오류 & Package.json 수정 권한 없음 오류 (0) 2024.04.09