2013-06-30 4 views
3

Windows에서 명령 줄만을 사용하여 컴파일하고 실행하는 방법을 배우려고합니다. 다음은 루트에서 시작하는 디렉토리 트리입니다.명령 프롬프트에서 Java를 실행하는 Java : 주 클래스를 찾을 수 없거나로드 할 수 없습니다.

D: 
ActivityOne 
    - classes 
     - com 
      -wat 
      -sampleapp 
       -students 
        StudentE.class 
       StudentMasterList.class (Main) 
    - src 
     -com 
      -wat 
      -sampleapp 
       -students 
        StudentE.java 
       StudentMasterList.java (Main) 

이제는 프로그램을 실행하는 방법에 대해 혼란 스럽습니다. 둘 다 다른 오류를 반환하는 두 가지를 시도했습니다.

첫 번째 시도 :

java -classpath classes StudentMasterList 

반환 :

Error: Could not find or load main class StudentMasterList 

번째 시도 : 반환

java -classpath classes/com/wat/sampleapp StudentMasterList 

:

Exception in thread "main" java.lang.NoClassDefFoundError: StudentMasterList (wrongname: com/wat/sam 
pleapp/StudentMasterList) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(Unknown Source) 
at java.security.SecureClassLoader.defineClass(Unknown Source) 
at java.net.URLClassLoader.defineClass(Unknown Source) 
at java.net.URLClassLoader.access$100(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 

다음에 시도한 후에 혼란스러워졌습니다. 메인 클래스를 어떻게 실행해야합니까?

업데이트 : ActivityOne 레벨에서 모든 명령을 실행해야합니다.

+0

@BackSlash ActivityOne은 폴더의 이름입니다. 안드로이드 앱이 아닙니다. 기본적으로 간단한 프로그램입니다. 나는 그걸 당신의 솔루션과 함께 작동시킬 수있었습니다! 하지만 어쨌든'ActivityOne' 폴더에서만이 작업을 수행 할 수 있습니까? (당신이 묻는다면'ActivityOne' 내의 다른 폴더에 들어 가지 않음을 의미합니다) –

답변

7

올바른 방법은 클래스 패스에 최상위 디렉토리를 추가 한 다음 Java 클래스의 완전한 이름을 사용, 즉

java -classpath D:\ActivityOne\classes com.wat.sampleapp.StudentMasterList 

입니다.

+0

내가 입력 한 디렉토리에서이 작업을 할 수 있습니까? –

+0

@JerYango : 네, 기대하겠습니다. – NPE

+0

그래, 네가 옳은 덕분에 내가 그걸 잊어 버리는 것을 잊어 버렸다. 나는 그 사람에 대해 유감이다. 그냥 빠른 질문 .. 만약 폴더 이름에'C : \ Documents and Settings'와 같은 공백이 있다면 어떻게해야합니까? –

관련 문제