티스토리 뷰

728x90

인프런 김영한님 강의를 보고 그대로 따라 하다 오류를 마주했다.

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 오류가 발생할 수 있다.

728x90

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. 빌드 설정


빌드 설정에 이전에 만들었던 클래스가 잡혀서 오류 발생 

아래와 같이 수정해주니 해결되었다.

 

위의 방법들이 인터넷에 떠도는 내용들을 모아 정리했습니다.

이 방법들로 되지 않는다면 댓글 부탁드립니다. 

728x90
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday