티스토리 뷰
[자바배치실행] Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError
xemaker 2017. 9. 5. 14:45Error: 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를 만드는 방법은 다음에^^
'자바(Java)' 카테고리의 다른 글
스프링 세션 사용 (0) | 2017.11.10 |
---|---|
[Java] 자바 버전 확인 (0) | 2017.10.19 |
자바 배치 실행시 - 오류: 기본 클래스 test.W을(를) 찾거나 로드할 수 없습니다 (0) | 2017.09.05 |
자바 클래스패스 설정 방법 - 오류: 기본 클래스을 찾거나 로드할 수 없습니다. (0) | 2017.08.31 |
addBatch executeBatch (0) | 2017.08.31 |
- Total
- Today
- Yesterday
- 자바
- webix
- proc
- 스크래핑
- C언어
- 플러터
- 오라클
- MySQL
- 라이믹스 모듈
- JDBC
- esql
- XE3
- xe addon
- EC
- C
- 포인터
- XE
- 프로씨
- ocajp
- 파싱
- php
- 파이썬
- 문자열
- xe애드온
- 인포믹스
- Python
- 이클립스
- 자바 smtp
- KG
- ocjap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |