작업 상태
- querydsl을 vscode에서 작업하던중 발생했습니다.

- vscode 사용중이었고 querydsl 설정은 완료되었고 vscode에서 springboot 시작중에 나온에러입니다.


에러 메시지 

- Project 'back' is missing required source folder: 'src/main/generated/querydsl'

- The type QBoard is already defined


원인

- Q..Entity를 사용했는데 없어서 나오는 에러입니다.


처리

- gradle로 생성해 줍니다.  gradle project > Tasks> ohters > compileQuerydls 실행

생성후 > Entity를 기준으로 Q클래스가 생성됩니다.

- Q클래스들을 생성후 boot를 실행시키면 경우에 따라서 또 다시 아래와 같은 에러가 발생하는 경우가 있습니다.

- The type QBoard is already defined

- 이 에러가 발생한 경우 vscode일 때 새로 생성된 Q클래스들을 인식시키기 위해 전부 생성된 Q클래스들을 클릭해서 열어줍니다.

전부 클릭해서 인식시키후 상황

- 이후 실행하면 정상 실행 됩니다.


참고

- BUILD FAILED in 1s
0. error: Could not find class file com.a3040.member.Member 등 :back:compileQuerydsl FAILED 이 나올경우

이미 Qclass가 생성되어 있는지 확인 queryDsl 이미 실행되어 compileQuerydsl실행 후 프로젝트에 관련 Qclass.java 파일들이 존재하면 발생합니다.

1. 생성된 Qclass가 있는 폴더를 삭제합니다.  > 이후 실행하면 Qclass가 없어서 실행이 안됩니다.

2. gradle project > Tasks> ohters > compileQuerydls 실행 > Qclass는 생성되었으나 이번에는 The type QBoard is already defined: <--이 에러로 실행 안됩니다.

3. vscode에서 자동 생성된 class를 인식시킵니다. 다 열어봄 > 잘 실행 됩니다.

4. 이상태에서 뭔간 변경되어 수정하고 compileQuerydls을 실행할경우 이번에는 기본 Entity 클래스가 없다는 에러가 발생합니다.  0번 부터 다시 확인합니다.

+ Recent posts