인텔리제이에서 JPA의 QueryDSL을 적용하고 애플리케이션을 실행하는 과정에서
정말 짜증 나는 현상이 반복되어 며칠을 삽질을 하다가 결국 방법을 찾아 공유해 보려고 한다.
여러분들이 다음과 같은 문제에 직면하고 있다면 도움이 될 수 있겠다.
문제1
- Task 정보가 뜨는 현상
- 이것이 뜨기 시작하면서 한글이 깨지는 현상
문제2
- 컴파일 에러는 안나는데 런타임 시 QueryDSL의 Q클래스를 찾을 수 없는 현상
하나씩 해결해 보자
문제 1
의 해결법
자세히 보면 Run 오른쪽 실행 이미지가 코끼리(Gradle)
로 되어있다.
이건 Gradle 환경으로 프로그램을 실행한다는 것인데, 그렇기 때문에 Task의 정보도 표시되는 것이다.
이것을 해결하려면 인텔리제이
환경으로 바꿔야 한다.
File
- Settings
- Build, Execution, Deployment
- Build Tools
- Gradle
로 들어가서
다음과 같이 Build and run using과 Run tests using을 IntelliJ IDEA
로 바꿔준다.
적용을 한 후 실행하면, 다음과 같이 인텔리제이로 실행이 되면서 Task 표시도 안되고 한글이 깨지는 현상도 사라진다.
문제 2
의 해결법
나는 QueryDSL의 Q클래스가 생성되는 위치를 다음과 같이 별도의 패키지를 만들어서 지정해 두었다.
src/main/generated
그 후 어플리케이션을 실행 하니까 다음과 같이 Q클래스를 찾을 수 없다는 오류가 발생했다.
원인은 프로젝트 모듈 셋팅에서 generated로 바꾼 경로를 추가 해주지 않았기 때문이다.
File
- Project Structure
- Project Settings
- Modules
를 들어가보면 다음과 같은 창이 나온다.
main에서 우측 Add Content Root
를 눌러서 다음의 경로를 포함시켜 준다.
그 후 OK를 누르고 실행을 해보면 정상적으로 Q클래스를 찾아서 실행이 된다.
참고 ) QueryDSL로 작성한 Q클래스가 컴파일 에러가 나는 경우
이 경우는 아직 Q클래스를 생성하지 않아서 생기는 에러이다.
인텔리제이 우측 상단에 Gradle
탭을 열어준다.
compileQuerydsl
을 눌러주게 되면 Q클래스가 생성되어 에러가 해결이 된다.
회고
이것 때문에 한동안 엄청난 스트레스를 받으며 에러의 원인을 찾아다녔는데
학원 동기였던 김성렬 형의 도움으로 해결할 수 있었다.
이번 포스팅으로 해당 에러로 고통받고 있는 여러분들을 구해줄 구세주가 되었기를 바란다.
'곰돌이 푸도 울고 갈 꿀팁' 카테고리의 다른 글
인텔리제이에 Google Formatter 를 적용해보자! (0) | 2022.12.21 |
---|---|
테스트 작성 시 주석 자동완성 셋팅하기 (0) | 2021.06.07 |
인텔리제이 패키지 경로를 한 번에 보는 방법 (0) | 2020.06.22 |
인텔리제이 Java Stream 코드 라인 맞추기 (0) | 2020.02.03 |
[티스토리 블로그 업로드] 목차를 이용해서 해당 부분으로 이동하기 (0) | 2018.12.11 |
댓글