이유:
1.java 명령은 기본적으로 CLASSPATH 환경 변수에 지정된 디렉터리에서 클래스 파일의 주소를 찾습니다.
2. 패키지의 영향을 무시합니다.
해결 과정:
첫 번째 문제는 해결하기 쉽습니다.
CLASSPATH 환경 변수에 ".;"을 직접 추가할 수 있습니다. "."은 현재 디렉토리를 검색한다는 의미입니다.
두 번째 질문은 아래 분석을 보세요.
다음 두 클래스를 보세요
클래스 A와 클래스 B의 유일한 차이점은 패키지 이름이 정의되지 않는다는 것입니다.
프로젝트 경로는 D:HelloWorld입니다. HelloWorld 폴더에 src 폴더를 만듭니다. src에는 클래스 B의 소스 코드 파일이 있습니다. javac로 컴파일한 후
는 src 폴더에 다음과 같이 NewsManager.class를 생성합니다.
다음과 같이 실행합니다.
소스 코드를 클래스 A로 변경합니다.
왜 나중에 패키지가 잘못된 건가요?
클래스 A의 패키지 경로는 org.will.app.main입니다. Java 규정에 따라 패키지에 정의된 경로에 따라 소스 파일을 저장해야 합니다. 클래스 A는 다음과 같이
srcorgwillappmain에 배치되어야 합니다.
그런 다음 컴파일하고 실행합니다.
여전히 문제가 되는 이유는 무엇일까요? 사실 자바 책을 다시 보면 클래스의 전체 이름은 패키지 이름 + 클래스 이름이어야 한다는 것을 알 수 있습니다. 클래스 A의 전체 이름: org.will.app.main.NewsManager
알겠습니다. 다시 시도해 보세요.
아직 틀렸습니다. 왜?
위 그림을 주의 깊게 보면 java 명령이 기본 디렉터리에서 org.will.app.main.NewsManager를 실행하도록 합니다. 실제로 클래스 경로는 다음과 같습니다.
D:HelloWorldsrcorgwillappmainorgwillappmainNewsManager. 보세요, 경로가 반복됩니다.
그래서 다음과 같이 실행해야 합니다:
성공!
추천 튜토리얼: Java 튜토리얼
위 내용은 Java 프로그램을 실행할 때 메인 클래스를 찾을 수 없거나 로드할 수 없다는 메시지가 나타납니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!