Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีแก้ปัญหา ไม่พบหรือโหลดแพ็คเกจคลาสหลักใน Java?


เมื่อคุณเขียนโปรแกรม Java คุณต้องคอมไพล์โดยใช้คำสั่ง javac นี่จะแสดงให้คุณเห็นข้อผิดพลาดของเวลาในการคอมไพล์ที่เกิดขึ้น (ถ้ามี)

เมื่อคุณแก้ไขปัญหาและคอมไพล์ความสำเร็จของโปรแกรมอย่างสมบูรณ์แล้ว ไฟล์เรียกทำงานที่มีชื่อเดียวกับชื่อคลาสของคุณจะถูกสร้างขึ้นในโฟลเดอร์ปัจจุบันของคุณด้วย .class นามสกุล.

จากนั้นคุณต้องดำเนินการโดยใช้คำสั่ง java เป็น −

java class_name

ขณะดำเนินการ เมื่อ JVM ไม่พบไฟล์ .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