2011. 10. 11. 16:41
NoClassDefFoundError vs ClassNotFoundException 그거/Java2011. 10. 11. 16:41
NoClassDefFoundError
- 컴파일 시점에는 존재했으나, 실행때 내부적으로 loading 되는 class가 없을 때
예제) 아래와 같은 java 자원들을 컴파일 한 후 B.class 파일을 삭제하고 java C 하면 NoClassDefFoundError 발생
Class A extends B {
}
Class B {
}
Class C {
public static void main(String[] args) {
A a = new A a();
}
}
예제) 아래와 같은 java 자원들을 컴파일 한 후 D.class 파일을 삭제하고 java E 하면 NoClassDefFoundError 발생
class D {
}
Class E {
public static void main(String[] args) {
D d = new D();
}
}
ClassNotFoundException
- 해당 class 파일이 없을 때(클래스를 로딩하려는 명시적인 시도가 실패할 경우)
예) 아래와 같은 java 자원들을 컴파일 한 후 C.class 파일을 삭제하고 java C 하면 ClassNotFoundException 발생
Class A extends B {
}
Class B {
}
Class C {
public static void main(String[] args) {
A a = new A a();
}
}
정리하면,
ClassNotFoundException
=> ClassLoader가 로딩하려고 하는 class가 존재하지 않을 경우 발생
NoDefFoundClassError
=> ClassLoader가 로딩하는 명시적인 class 내부에서 묵시적으로 로딩하고자 하는 class가 존재하지 않을 경우 발생
'그거 > Java' 카테고리의 다른 글
자바 소스 디컴파일 해보기. (0) | 2013.04.11 |
---|---|
Runtime Data Access (0) | 2012.07.30 |
Eclipse 에서 Maven 이용해서 remote repository 에 deploy 하기 (0) | 2011.10.05 |
Java에서 Cookie 값 꺼내쓰기 유틸.. (0) | 2011.09.30 |
MSSQL의 JDBC 로의 컬럼 타입 매핑 (0) | 2011.08.08 |