티스토리 뷰
인프런 김영한님 강의를 보고 그대로 따라 하다 오류를 마주했다.
java.lang.ClassNotFoundException
ClassNotFoundException이 나는 이유는 다양한데 구글링을 하며 총 5가지의 방법을 찾았다.
아래에 순차적으로 java.lang.ClassNotFoundException 오류 해결 방법을 작성했다.
* 내 환경
1. 맥북 m1
2. 인텔리제이 커뮤니티 버전
3. jdk 11
4.Spring boot 2.X.X
* 오류 확인을 위한 체크 리스트
1. 자바 버전 확인
2. 인텔리제이에 jdk 버전, 인텔리제이 build and run using 체크
3. 캐시 존재 유무
4. 폴더명으로 인한 오류
1. 자바 버전 확인
1. 자바 버전 체크 터미널 혹은 cmd를 열어 버전 확인
java -version
2. 설치된 자바 버전 체크
/usr/libexec/java_home -V
2. 자바 11 버전으로 환경 설정
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
3. 자바 버전 확인
echo $JAVA_HOME
4. 결과 확인
🚨 자바 버전이 제대로 설치 되어있지 않은 경우 java.lang.ClassNotFoundException 오류가 발생할 수 있다.
2. 인텔리제이 jdk 버전 확인
1. 맥 기준 " command + , " 로 설정 접근
2. Build and run using, Run tests using: Gradle 설정
- (커뮤니티 버전은 Gradle로 해야 한다네요)
3. file - Project Structure : SDK 체크
🚨 SDK가 변경되거나 SDK를 찾지 못해서 java.lang.ClassNotFoundException 오류가 발생할 수 있다.
3. 캐시 삭제
1. Invalidate Caches에서 캐시를 삭제하자.
🚨 기존 캐시로 인해 java.lang.ClassNotFoundException 오류가 발생할 수 있다.
4. 폴더명에 "/" 슬래쉬가 들어간 경우 path 오류
나는 폴더명에서 오류가 났다.
나의 원래 파일 구조는 name/코딩:성장:영상/infren/demo 이런 구조였다
터미널에서 파일 path를 확인해보니
코딩/성장/영상이라는 폴더가 코딩:성장:영상으로 변경되어 난 오류였다.
폴더명에 "_" or "/" 문자로 구성된 폴더명이 있다면 해당부분을 고치도록하자
5. 빌드 설정
빌드 설정에 이전에 만들었던 클래스가 잡혀서 오류 발생
아래와 같이 수정해주니 해결되었다.
위의 방법들이 인터넷에 떠도는 내용들을 모아 정리했습니다.
이 방법들로 되지 않는다면 댓글 부탁드립니다.
'💻 개발 > 언어' 카테고리의 다른 글
[JAVA] Super() 키워드 예제 / Super 부모, 자식 (2) | 2022.09.09 |
---|---|
[JAVA] 헷갈렸던거 정리(static, 생성자, 기본생성자, 초기화) (2) | 2022.09.09 |
[JavaScript] 프로미스와 프로미스 API구조 (0) | 2021.10.19 |
[Python] 중복단어 삭제하기(연속적으로 나오는 경우/ 전체 단어 중 삭제) (0) | 2021.09.03 |
[Python] 전체 글 목록에서 헤더 푸터 자르기 / pdftotex, 함수 만들기 (0) | 2021.07.18 |
- Total
- Today
- Yesterday