인프런 커뮤니티 질문&답변

KR KHS님의 프로필 이미지

작성한 질문수

실전! Querydsl

조회 API 컨트롤러 개발

QMemberTeamDto의 NoClassDefFound

해결된 질문

22.05.05 19:50 작성

·

233

0

안녕하세요 강의 잘 듣고 있습니다.

 

중간에 조회 API 개발의 내용 중 QMemberTeamDto를 조회하는 메소드로 컨트롤러를 통해 응답을 주는 컨트롤러를 작성하는 내용이 있는데요

 

같은 내용의 Test는 통과하였으나 포스트맨에서 요청을 할 때는 NoClassDefFound 에러가 발생합니다

 

build가 되지 않았나? 해서 gradle로 clean compileJava compileQuerydsl 모두 실행하고 해봐도 같은 결과입니다

 

빌드된 결과

 

에러 내용

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

2022. 05. 10. 21:42

안녕하세요. KR KHS님

해당 프로젝트를 받아서 실행해보니 정상 동작합니다.

참고로 자바 11 버전으로 변경해서 실행했습니다. Querydsl이나 gradle 내부 여러 기능에서 아직 자바 17을 지원하지 않을 수 있습니다.

그게 아니라면 IDE에서 뭔가 꼬인 것 같은데요, 프로젝트를 새로 생성해서 소스코드만 복사해서 새로 진행해보시길 바랍니다.

감사합니다.

KR KHS님의 프로필 이미지
KR KHS
질문자

2022. 05. 10. 22:54

확인 감사합니다 말씀하신대로 자바 버전 변경해서 진행해보겠습니다

KR KHS님의 프로필 이미지
KR KHS
질문자

2022. 05. 12. 19:41

자바 버전을 11과 8로 바꿔서 해도 동일 증상이 나타나서 좀 더 검색해서 해당 현상을 고쳤습니다.

 

VSCode의 기본 classpath 설정 문제로 generated Querydsl 클래스들을 현재 실행 중인 main 스레드와 별개로 인식하고 있어서 발생하고 있었습니다.

 

VSCode ClassNotFoundException 해결 (tistory.com)

 

위 링크의 내용을 보고 classpath 설정을 변경하여 테스트 성공 했습니다.

김영한님의 프로필 이미지
김영한
지식공유자

2022. 05. 12. 22:13

KR KHS님 문제를 해결하고, 또 공유해주셔서 다른 분들께도 도움이 될 것 같아요. 고맙습니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

2022. 05. 08. 18:17

안녕하세요. KR KHS님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

KR KHS님의 프로필 이미지
KR KHS
질문자

2022. 05. 09. 00:42

프로젝트 압축 파일 - https://drive.google.com/file/d/1Ht2EYmlsZBLtcwgrVOdzCKJ0gN3qL3_x/view?usp=sharing

 

실행 환경

- Windows 11

- 자바 17.0.2

- VSCode v1.67.0

- Extension Pack for Java v0.22.4

- Debugger for Java v0.40.1

- Test Runner for Java v0.35.0

 

메인 클래스

- src\main\java\io\hskim\learnjpapart4\LearnJpaPart4Application.java

 

오류 발생 상황

정상 - 테스트 클래스에서 테스트시

테스트 클래스

- src\test\java\io\hskim\learnjpapart4\repository\MemberRepositoryTest.java

- 47번 라인 searchTest 메소드

 

오류 - Spring을 실행하여 웹 환경 구동 후 포스트맨에서 localhost:8080/v3/member 호출 시 NoClassDefFound 에러 발생

Repo 클래스

- src\main\java\io\hskim\learnjpapart4\repository\MemberRepositoryImpl.java

- 151번 라인 searchPageComplex 메소드

 

바쁘신데 확인 요청드려 죄송합니다

KR KHS님의 프로필 이미지

작성한 질문수

질문하기