วิธีแก้ไขข้อผิดพลาด: ไม่พบคลาสหลักใน NetBeans

How Solve Error No Main Class Found Netbeans



คุณเคยทำงานกับ NetBeans และได้รับข้อผิดพลาดที่น่าผิดหวังมากที่ระบุว่า: ไม่พบคลาสหลักหรือไม่ เราจะแสดงให้คุณเห็นถึงวิธีแก้ปัญหานั้นในบทความนี้ แต่ก่อนอื่นเราต้องเริ่มด้วยภูมิหลังบางอย่างเพื่อให้คุณเข้าใจกระบวนการนี้

มาเริ่มด้วยการรู้ว่าจริงๆ แล้ว NetBeans คืออะไร ดังนั้น NetBeans จึงเป็น สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) เดิมใช้สำหรับ Java แต่นอกเหนือจากการพัฒนา Java แล้ว ยังมีส่วนขยายสำหรับภาษาอื่นๆ เช่น PHP, C++, C, HTML5 และ JavaScript มันสามารถทำงานบนระบบปฏิบัติการต่าง ๆ เช่น Windows , macOS , ลินุกซ์ , และ Solaris . แอปพลิเคชันที่ใช้ NetBeans ซึ่งรวมถึง NetBeans IDE และอื่นๆ สามารถขยายได้โดยนักพัฒนาบุคคลที่สาม ในเดือนกรกฎาคม 2549 ภายใต้ใบอนุญาตการพัฒนาและการจัดจำหน่ายร่วมกันของซัน (CDDL) NetBeans IDE ได้รับใบอนุญาต เมื่อเร็วๆ นี้ Oracle ได้บริจาค NetBeans IDE และแพลตฟอร์มให้กับ Apache Foundation ในเดือนเมษายน 2019 ได้ผ่านวงจรการพัฒนาธุรกิจและหมดสภาพเป็นโครงการระดับบนสุด ดังนั้นตอนนี้ NetBeans จึงได้รับอนุญาตภายใต้ Apache License 2.0 .







สภาพแวดล้อมการพัฒนาแบบบูรณาการของ NetBeans เป็นแพลตฟอร์มโอเพ่นซอร์ส NetBeans IDE รองรับการพัฒนาแอปพลิเคชัน Java ทุกประเภทซึ่งรวมถึง Java SE , JavaFX Java ME , เว็บ , EJB , และ มือถือ แอปพลิเคชันออกจากกล่อง คุณสมบัติอื่น ๆ ของ IDE ได้แก่ การสนับสนุน Maven, การรีแฟคเตอร์, และ มด -ตามระบบโครงการ การควบคุมเวอร์ชัน (ซึ่งรองรับ Git, CVS , เมอร์คิวเรียล, การโค่นล้ม และ เคลียร์เคส ).



NetBeans อำนวยความสะดวกในการสร้างแอปพลิเคชันซอฟต์แวร์จากชุดส่วนประกอบโมดูลาร์ที่เรียกว่าโมดูล โมดูลเหล่านี้มีฟังก์ชันพื้นฐานทั้งหมดของ IDE แต่ละตัวมีฟังก์ชั่นที่กำหนดไว้อย่างดี เช่น รองรับภาษาต่าง ๆ การแก้ไขหรือรองรับระบบการกำหนดเวอร์ชัน CVS และ SVN โดยได้ส่วนประกอบทั้งหมดเพื่อรองรับการพัฒนา Java ในการดาวน์โหลดครั้งเดียว ทำให้ผู้ใช้สามารถเริ่มทำงานได้ทันที แต่ สำหรับภาษาอื่นๆ และคุณสมบัติใหม่ NetBeans จำเป็นต้องได้รับการปรับปรุง จำเป็นต้องติดตั้งโมดูลและแพ็คเกจใหม่ ตัวอย่างเช่น Sun Java Studio Creator จาก ซันไมโครซิสเต็ม , Sun Java Studio Enterprise และ ซัน สตูดิโอ ทั้งหมดนั้นใช้ NetBeans IDE



วิธีหลัก

ไปสู่วิธีการหลักในภาษา Java ไม่สามารถสร้างแอปพลิเคชัน Java ได้หากไม่มีวิธีการหลัก แอปพลิเคชัน Java ถูกกำหนดให้เป็นคลาส Java สาธารณะที่มีเมธอด main()





  • NS หลัก () ฟังก์ชั่นทำหน้าที่เป็นจุดเริ่มต้นสำหรับการใช้งานใดๆ เมื่อใดก็ตามที่โปรแกรมถูกเรียกใช้งาน main จะเป็นฟังก์ชันแรกที่ดำเนินการ ฟังก์ชันอื่นๆ ทั้งหมดสามารถเรียกได้โดยฟังก์ชันหลัก ในวิธีมาตรฐานแบบคลาสสิก มีฟังก์ชันหลักหนึ่งฟังก์ชันที่ใช้อินสแตนซ์อื่นของคลาสเพื่อทำงาน
  • หากไม่มีเมธอด main() JVM จะไม่รันโปรแกรม
  • วิธีการหลักของ Java ประเภทการคืนสินค้าเป็นโมฆะ กล่าวคือ ไม่มีการส่งคืนใดๆ นั่นเป็นสาเหตุที่ประเภทการคืนสินค้ากลับเป็นโมฆะ สิ่งนี้เกิดขึ้นเพราะเมื่อสิ้นสุดหลัก โปรแกรม Java จะยุติการทำงาน ดังนั้นประเภทการส่งคืนควรเป็น null เพื่อให้โปรแกรมเรียบง่ายและหลีกเลี่ยงการรั่วไหลของหน่วยความจำทุกประเภท
  • ลายเซ็นของวิธีการอยู่เสมอ: public static void หลัก (สตริง[] args)

สาธารณะ: เป็นตัวระบุการเข้าถึง คีย์เวิร์ดสาธารณะถูกใช้ก่อนคีย์หลัก เพื่อให้ Java Virtual Machine สามารถระบุจุดดำเนินการของโปรแกรมได้ หากตัวระบุการเข้าถึงไม่ใช่แบบสาธารณะ ซึ่งเป็นแบบส่วนตัวหรือแบบมีการป้องกัน JVM จะไม่สามารถมองเห็นได้ และโปรแกรมจะไม่ทราบจุดดำเนินการ

คงที่: ฟังก์ชันใด ๆ ที่กลายเป็น static สามารถทำให้เป็นสแตติกได้โดยใช้คีย์เวิร์ด static เมธอดแบบคงที่คือฟังก์ชันที่สามารถเรียกใช้หรือเรียกใช้งานได้โดยไม่ต้องสร้างออบเจกต์ใดๆ ดังนั้นจึงไม่จำเป็นต้องใช้อ็อบเจ็กต์ในการเรียกใช้ฟังก์ชันหลัก จำเป็นต้องเรียกใช้เมธอดหลักโดยไม่สร้างอ็อบเจ็กต์ ดังนั้นจึงใช้สแตติก



เป็นโมฆะ: สิ่งนี้ระบุประเภทการรันซึ่งเป็นโมฆะ คอมไพเลอร์รับทราบว่าวิธีการดังกล่าวไม่ได้คืนค่าใดๆ

หลัก(): เป็นไวยากรณ์เริ่มต้นที่กำหนดไว้แล้วใน Java Virtual Machine JVM เรียกใช้ฟังก์ชันนี้เพื่อคอมไพล์โปรแกรมทีละบรรทัด และสิ้นสุดการคอมไพล์หลังจากฟังก์ชันเสร็จสิ้น วิธีหลักยังสามารถโอเวอร์โหลดได้

สตริงอาร์กิวเมนต์[]: เมธอด main() ยังรับข้อมูลบางประเภทจากผู้ใช้อีกด้วย ยอมรับอาร์เรย์ของสตริงผ่านอาร์กิวเมนต์บรรทัด cmd อาร์กิวเมนต์บรรทัดคำสั่งจะถูกส่งผ่านพารามิเตอร์ args ซึ่งเป็นอาร์เรย์ของสตริง

การแก้ไขข้อผิดพลาด

ตอนนี้เรารู้แล้วว่าวิธีการหลักค่อนข้างสำคัญในการรันโปรแกรมบน JVM ต่อไปนี้เป็นวิธีแก้ไขที่เป็นไปได้เพื่อเอาชนะข้อผิดพลาด Main class ที่ไม่พบใน NetBeans:

วิธีมาตรฐานในการดำเนินโครงการด้วยหลัก:

  • คลิกขวาที่โปรเจ็กต์ของคุณในตัวสำรวจโปรเจ็กต์
  • เลือก 'คุณสมบัติ'
  • เลือก 'เรียกใช้'
  • ตรวจสอบให้แน่ใจว่าคลาสหลักของคุณเป็นคลาสที่คุณต้องการให้รันก่อนเมื่อโปรแกรมเริ่มทำงาน
  • ตรวจสอบให้แน่ใจว่าใช้ชื่อแบบเต็ม เช่น mypackage.MyClass
  • คลิกตกลง
  • ดำเนินโครงการ

หากคุณต้องการเรียกใช้ไฟล์ ให้คลิกขวาที่คลาสจาก package explorer แล้วคลิก Run File หรือ (Alt + R, F) หรือ (Shift + F6)

ลายเซ็นไวยากรณ์ที่ถูกต้องของ main:

  • บางครั้งคุณมักจะประสบปัญหาที่ NetBeans ไม่พบชั้นเรียนเมื่อคุณเรียกดูจากหน้าต่างโต้ตอบของชั้นเรียนหลัก
  • อาจเป็นไปได้ว่าวิธีการหลักของคุณมีลายเซ็นที่ถูกต้อง เช่น คุณลืมตัวระบุการเข้าถึงสาธารณะ
  • ตัวดัดแปลง public และ static สามารถเขียนในลำดับใดก็ได้ (public static หรือ static public) แต่แบบแผนคือการใช้ public static ตามที่แสดงด้านบน
  • Args: คุณสามารถตั้งชื่ออาร์กิวเมนต์อะไรก็ได้ที่คุณต้องการ แต่แบบแผนที่ใช้บ่อยที่สุดคือ argv หรือ args

ระบุคลาสหลัก:

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

ข้อผิดพลาดพื้นที่หน่วยความจำ/แคช:

  • บางครั้งเนื่องจากข้อผิดพลาดของพื้นที่หน่วยความจำไม่เพียงพอ NetBeans จึงไม่สามารถโหลดหรือค้นหาคลาสหลักได้
  • คลิกขวาที่โหนดโปรเจ็กต์และไปที่ Set configuration
  • เลือกคลาสหลักสำหรับการสมัครของคุณ
  • จากนั้นทำความสะอาดและสร้าง

หากคุณได้ลองสิ่งนี้แล้วและยังใช้งานไม่ได้:

  • ทำความสะอาดแคชโดยลบไฟล์ดัชนีออกจากโฟลเดอร์แคช

ไปที่ บ้าน / NetBeans / nb / var / cache และลบ แคช โฟลเดอร์ จากนั้นเปิด NetBeans IDE อีกครั้งและเรียกใช้โครงการ

หากยังคงใช้งานไม่ได้ ให้ลองทำตามขั้นตอนต่อไปนี้

  1. เลือกโครงการจากตัวสำรวจโครงการ
  2. เลือกเรียกใช้จากแถบเมนู

เลือกคอมไพล์