2012-07-27 5 views
-1

를 추가 할 때 NoClassDefFoundError를 자바 소스 코드는 다음과 같습니다 :자바 : 패키지 문

package test; 

public class DotMain { 
    public static void main(String... args) { 
     String s1 = "abcdex"; 
     String s2 = "ac"; 
     boolean[] r1 = new boolean[26]; 
     for (char c : s1.toCharArray()) 
      r1[c - 'a'] = true; 
     boolean contained = true; 
     for (char c : s2.toCharArray()) { 
      if (!r1[c - 'a']) { 
       contained = false; 
       break; 
      } 

     } 
     System.out.println(contained); 
     System.out.println(s1 + s2); 
    } 
} 

에는 존재하지 않는 경우 "패키지 테스트;" 해당 클래스 파일이 올바로 작동합니다. 하지만 "패키지 테스트"를 추가하면 제목에 명시된 예외가 발생했습니다. 뭔가 잘못 됐니?

+0

어떻게 실행합니까? –

+0

패키지 테스트에서 클래스가 교차 체크했습니다 ..? – Ahmad

+0

이것은 1000 번 묻습니다 ... –

답변

1

제대로 구축하지 않거나 제대로 실행하지 않을 가능성이 있습니다. 이 같은 (적절하게 경로 정보에 기입)

빌드 :이 같은

javac -d . path/to/DotMain.java 

실행이 :

java test.DotMain 

(당신은 물론 -d에 의해 지정된 출력 디렉토리를 변경할 수 있습니다 어떤 점에서 클래스 경로에 해당 디렉토리를 추가하거나 실행하기 전에 해당 디렉토리로 변경해야합니다.)

+0

"javac -d. d : \ eclipsews \ DotMain.java"와 같은 소스 코드를 컴파일하고 "java test.DotMain"과 같이 실행하면 성공했습니다. 감사! 하지만 "javac DotMain.java"와 같이 컴파일하면 왜 실패하나요? – wix

+0

@wix : 패키지 구조를 미러링하는 디렉토리 구조에 .class 파일이 있어야합니다. 어떤 중요한 작업을 위해 반드시해야하는 동일한 구조에 * 소스 코드 *를 넣거나'-d' 옵션을 사용하면됩니다. –