우와테크

java.lang.NoClassDefFoundError 에러 본문

java-eclipse_IntelliJ_Netbeans

java.lang.NoClassDefFoundError 에러

uwaTech 2023. 6. 15. 10:56

내가 만든 jar 파일을 사용하고 실행 했을때 에러가 났다.

 

java.lang.NoClassDefFoundError 

 

말도 안돼.....

 

원인 

jar 압축파일 안에 불 필요한 폴더가 있다.

 

이것들이 먼데 들어있어? 싶은 것들

어디서 많이 봤는데 왜 들어 있어? 싶은 것들

 

 

 

 

해결
  • 내가 만든 package 명으로 되어 있는 폴더 + META-INF 폴더(보통2개)를 제외한 모든 폴더 삭제 후 다시 압축한다.
  • JAR 파일 만들때 부터 잘 만들자.

https://uwatech.tistory.com/73

 

intelliJ에서 .jar 파일 만들기

다시 자바를 한다. intelliJ로 한다. jar 파일을 만들어야 하는데 까먹을꺼 같아서 남겨두는 기록들.. jar 파일 여러개의 자바 클래스 파일과, 클래스들이 이용하는 관련 리소스 (텍스트, 그림 등) 및

uwatech.tistory.com

  1. 라이브러리 설정하기 전에 Build 설정하기
  2. 만약 라이브러리가 설정되어 있다면, jar Clean 후, 라이브러리 설정 없애고 Build하기. 
    그 후 필요한 라이브러리를 추가한다.

.jar artifact 설정 후 라이브러리를 import 하면 jar 파일안에 불필요한 폴더 생성을 방지할 수 있다.

 

 

 

 

 

결론 : 잘 만들자..