간단한 프로그램에서 클래스의 동적로드를 시도했으며 간단한 이름으로 클래스를 동적으로로드하려고 시도했을 때 intrestingly classnotfoundexception으로 실패합니다. 이것은 클래스가 기본 패키지가 아닌 다른 패키지 아래에있는 경우에만 발생합니다.Class.forName을 통한 동적 클래스 로딩은 간단한 클래스 이름과 함께 작동합니까?
하지만 전체 경로 이름을 지정하면 동적로드가 성공합니다. 로드되는 클래스는 Main 클래스와 동일한 패키지에 있습니다.
파일 Main.java는 :
public class Main {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
System.out.println(Class.forName("m"));
}
}
class m extends Main{
}
그럼 분명히 자신의 질문에 답변하지 않았습니까? –