2010-05-17 3 views
0

Eclipse에서 프로젝트를 만들고 동적 클래스 로딩을위한 인터페이스와 클래스를 정의했습니다.이 클래스는 프로젝트 디렉토리 에 있으므로이 코드는 프로젝트 :동적 클래스 로딩시 클래스 경로에서 클래스에 액세스 할 수 있도록 만들기

if (handlerClassName != null) 
    { 
     TypeHandler typeHandler = null; 
     try { 
      typeHandler = (TypeHandler) 
      (Class.forName(handlerClassName).newInstance()); 

하지만이 예외가 : java.lang.ClassNotFoundException가 "handlerClassName"

나는 JVM 내 프로젝트에 클래스 "handlerClassName"를 인식하기 위해 무엇을해야합니까?

감사합니다.

답변

0

전체 패키지를 포함하는 정규화 된 클래스 이름을 사용하십시오. string과 같은 짧은 이름 대신 java.lang.String 실제로 패키지에없는 경우 패키지에 포함되도록 수정하십시오. 패키지가없는 클래스는 즉, 패키지의 클래스에는 보이지 않습니다.

+0

감사합니다. Balusc, 맞습니다. (Class.forName ("homework4."+ handlerClassName) .newInstance()); 이제 작동 중입니다. – Noona

+0

반갑습니다. 그러나 [Sun Java 명명 규칙] (http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html)에 따르면 클래스 이름은 UpperCase로 시작해야합니다. – BalusC

+0

프로젝트에서 대문자로 처리했습니다. handlerClassName은 별칭이었습니다. – Noona

관련 문제