[JAVA](모든 시도 해봄) / java.lang.ClassNotFoundException 오류 해결

2022. 3. 12. 21:03·📂 Troubleshooting & Ops
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
반응형
저작자표시 비영리 변경금지 (새창열림)

'📂 Troubleshooting & Ops' 카테고리의 다른 글

github action gradle.yml에러 input required and not supplied: OOO  (0) 2022.11.13
[Querydsl][오류] Cannot delete or update a parent row: a foreign key constraint fails  (0) 2022.07.08
[오류해결]template might not exist or might not be accessible by any of the configured Template Resolvers  (2) 2022.07.07
[파이어베이스]Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\ 파이어베이스 연동 오류  (0) 2021.04.29
[Firebase] 배포 / deploy 실패, 빌드하는 방법 해결  (0) 2021.04.26
'📂 Troubleshooting & Ops' 카테고리의 다른 글
  • [Querydsl][오류] Cannot delete or update a parent row: a foreign key constraint fails
  • [오류해결]template might not exist or might not be accessible by any of the configured Template Resolvers
  • [파이어베이스]Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\ 파이어베이스 연동 오류
  • [Firebase] 배포 / deploy 실패, 빌드하는 방법 해결
foodev
foodev
이것저것 개발과 이것저것 리뷰 합니다.
    반응형
    250x250
  • foodev
    개발 개맛집
    foodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (104) N
      • ⭐ Featured (4)
      • 📂 Backend Engineering (36)
      • 📂 Troubleshooting & Ops (10)
      • 📂 Infra & System (7) N
      • 📂 Reflections (21)
        • Year-in-Review (5)
        • Work & Career (10)
        • Lessons Learned (6)
      • 📂 Team Journal (10)
      • 📂 Archive (16)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    validation failed (numeric string is expected)
    githubaction 라벨 배포
    azure ci/cd
    스냅샷과히스토리성 차이
    스냅샷과 히스토리
    di의존성
    db 초기화
    개발썰
    해피해킹 꿀팁
    di란
    typedi란
    db 날림
    해피해킹 방향키
    인프라 로그 저장 비용 감소하는 방법
    서이추
    githubaction 라벨 ci/cd
    nestjs pipe
    JPA
    창업패키지후기
    QueryDSL
    해피해킹 커스텀
    토이프로젝트개발일지
    typedi 동작원리
    di동작원리
    db 날린 썰
    해피해킹 키매핑
    해피해킹 카라비너
    Azure log 비용 줄이기
    nestjs pipe body
    Azure 로그 최소 저장 30일
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
foodev
[JAVA](모든 시도 해봄) / java.lang.ClassNotFoundException 오류 해결
상단으로

티스토리툴바