2015-01-25 1 views
-2

메인 클래스 오류를로드 할 수 없습니다 :찾거나 내가하고 경로를 변경 CMD Windows의 문제를 컴파일 한 후 cmd를

1-) 나 환경적인 추가 변수 : 2 개의 새로운 사용자 변수; 그들에게 PATH 및 CLASSPATH라는 이름을 붙였습니다. jdk 위치에 변수 값을 추가했습니다. 또한 시스템 변수와 동일한 프로세스를 수행했습니다. 2) Hello World 만 인쇄하고 M이라는 이름의 간단한 프로그램을 작성하여 작업 여부를 확인할 수 있습니다. 데스크톱에 저장하고 cmd를 데스크탑에 썼습니다 ... javac M.java를 작성한 후 successfuly를 컴파일하고 클래스 m 클래스를 생성 한 다음 cmd java M 및 unfortunatelly에 썼습니다. 이 오류 오류 : 메인 클래스를 찾지 못했거나로드 할 수 없습니다.

* 프로그램에 구문 또는 논리 오류가 없습니다. 위의 프로그램에서 언급 한 것처럼 동일한 문제가 계속 발생하여 HelloWorld에서 시도한 것입니다. 감사

+0

실행중인 프로그램 (HelloWorld)의 코드를 볼 수 있습니까? – Todd

+0

공용 클래스 M { public static void main (String [] args) { System.out.println ("Hello World"); } – user3038143

+0

사용중인 명령, 실행시 사용한 디렉토리 및 클래스 파일의 위치를 ​​모르는 상태에서이 오류가 발생하는 이유와 오류가 발생하지 않는 이유를 설명하는 것은 불가능합니다. –

답변

1

java클래스 경로에 나열된 디렉토리와 jar 파일에 (런타임 환경에 나오는 표준 클래스 제외) 클래스를 찾습니다.

프로그램을 실행할 때 클래스 경로 옵션을 전달하지 않았습니다. 그래서 java는 CLASSPATH 디렉토리와 jar 파일 목록을 정의하는 환경 변수를 찾습니다.

아마, 당신은 그러한 환경이 존재하지 않을 수도 있습니다 (그것은 좋은 것입니다, BTW). 그래서 당신은 단순히 자바에 옵션으로 클래스 경로를 전달해야

java -cp . M 

이 해당 클래스 파일이 현재 디렉토리 (.)에서 찾을 수 있어야 자바를 알려줍니다. 클래스가 기본 패키지에 있으므로 현재 디렉토리에서 M.class를 찾습니다. M 패키지 com.mycompany에있는 경우, 당신은

java -cp . com.mycompany.M 

을 사용하고 현재의 디렉토리에서 시작하는 파일 com/mycompany/M.class를 찾을 것입니다.

물론 다른 디렉터리에서이 명령을 실행하면 옵션 값을 변경해야합니다. 예 :

java -cp c:\Desktop com.mycompany.M 

기본 패키지에 클래스를 넣는 것은 패키지에 넣는 데 익숙합니다.

클래스 이름을 M으로 지정하는 것이 끔찍한 점에 유의하십시오. 클래스에 의미있는 이름을 지정하십시오 (예 : Bicycle 또는 PasswordGenerator).

+0

verry 고맙습니다. 그 수업 경로를 알지 못했습니다. 내가 cmd를 자바 프로그램을 실행하는 방법을 몰랐어요 테스트를 위해서만 내 이름이 Java 프로젝트는 패키지에 있습니다. 안녕하세요. – user3038143

관련 문제