Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

해결 방법 Java에서 기본 클래스 패키지를 찾거나 로드할 수 없습니까?

<시간/>

Java 프로그램을 작성하면 javac 명령을 사용하여 컴파일해야 하며 컴파일 시간 오류가 발생했음을 보여줍니다(있는 경우).

문제를 해결하고 프로그램을 성공적으로 컴파일하면 클래스 이름과 동일한 이름의 실행 파일이 .class와 함께 현재 폴더에 생성됩니다. 확장자.

그런 다음 Java 명령을 −

로 사용하여 실행해야 합니다.
java class_name

실행하는 동안 JVM이 지정된 이름의 .class 파일을 찾지 못하면 "Could not found or load main class" 오류가 -

라는 런타임 오류가 발생합니다.
D:\sample>java Example
Error: Could not find or load main class Example
Caused by: java.lang.ClassNotFoundException: Example

해결책

이 오류를 방지하려면 현재 디렉토리에 있는 .class 파일의 절대(패키지 포함) 이름(이름만)을 지정해야 합니다.

다음은 이 오류가 발생할 수 있는 시나리오입니다 -

잘못된 클래스 이름 − 클래스 이름을 잘못 지정했을 수 있습니다.

class Example {
   public static void main(String args[]){
      System.out.println("This is an example class");
   }
}

오류

D:\>javac Example.java
D:\>java Exmple
Error: Could not find or load main class Exmple
Caused by: java.lang.ClassNotFoundException: Exmple

해결책 − 이 클래스 이름의 철자가 잘못되었습니다. 수정해야 합니다.

D:\>javac Example.java
D:\>java Example
This is an example class

잘못된 경우 − example.java가 example.java와 다른 경우 같은 경우 클래스 이름을 지정해야 합니다.

class Example {
   public static void main(String args[]){
      System.out.println("This is an example class");
   }
}

오류

D:\>java EXAMPLE
Error: Could not find or load main class EXAMPLE
Caused by: java.lang.NoClassDefFoundError: Example (wrong name: EXAMPLE)

해결책 − 이때 클래스 이름의 대소문자가 틀리므로 데코레이션을 해야 합니다.

D:\>javac Example.java
D:\>java Example
This is an example class

잘못된 패키지 − 패키지에 .class 파일을 생성하고 패키지 이름 없이 또는 잘못된 패키지 이름으로 실행을 시도했을 수 있습니다.

package sample;
class Example {
   public static void main(String args[]){
      System.out.println("This is an example class");
   }
}

오류

D:\>javac -d . Example.java
D:\>java samp.Example
Error: Could not find or load main class samp.Example
Caused by: java.lang.ClassNotFoundException: samp.Example

해결책 − 이 시나리오에서 잘못된 패키지의 이름을 언급했습니다. 실행하는 동안 .class 파일이 존재하는 올바른 패키지 이름을 지정해야 합니다. -

D:\>javac -d . Example.java
D:\>java sample.Example
This is an example class

.class 확장자 포함 − 파일을 실행하는 동안 프로그램에 .class 확장자를 포함할 필요가 없습니다. 클래스 파일의 이름을 지정하기만 하면 됩니다.

오류

D:\sample>java Example.class
Error: Could not find or load main class Example.class
Caused by: java.lang.ClassNotFoundException: Example.class

해결책 − 확장자 .class 프로그램 실행 중에는 필요하지 않습니다.

D:\sample>java Example
This is an example class