티스토리 뷰

Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError


이 에러는 클래스 소스 파일에서 import 하는 jar를 못찾아서 나는 에러이다.


보통 이클립스에서는 필요한 jar를 lib등에 놓고 프로젝트 properties -> Java Build Path -> Libraries 에서 Jar를 Add 해서 쓴다.


하지만 배치파일은 그런게 없기 때문에 일일히 classpath를 정해줘야 한다.


시스템 변수에 CLASSPATH를 정해서 써도 되지만 이것은 다른곳에서도 동시에 쓰는거기 때문에 난 따로 classpath를 등록해서 쓰고 싶다고 하면 배치파일에서 따로 set를 해서 써야 한다.


해당 소스에서 참조하는 모든 클래스의 jar를 set 해줘야 한다.


여기서는 


cd C:\java\classes

set CLASSPATH=.;C:\java\lib\tools.jar;C:\java\lib\rt.jar;C:\java\lib\tools.jar;C:\java\lib\ojdbc6-11.jar;C:\java\lib\log4j-1.2.jar;

java -cp %CLASSPATH% test.W


이런식으로 소스에서 사용하는 jar를 classpath로 세팅한 후 java를 실행한다.


필자는 위의 형식으로 해서 배치파일 실행하는데 성공했다^^


실행가는한 (excutable) jar를 만들어서 쓰면 편리하지만 jar파일을 새로 생성해야 하는 부담이 생긴다.


excutable jar를 만드는 방법은 다음에^^

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함