Hindi Mahanap o Mag-load ng Pangunahing Klase Java? Narito Kung Paano Ito ayusin!

Hindi Mahanap o Mag-load ng Pangunahing Klase Java? Narito Kung Paano Ito ayusin!

Kung patuloy mong nakukuha ang pangunahing klase na hindi nahanap na error sa iyong proyekto sa Java nang walang maliwanag na dahilan, huwag magalala, hindi ka nag-iisa.





Bilang isa sa mga hindi napapansin at kusang error, salamat sa ugali ng JVM (Java Virtual Machine) na manatili sa isang default na classpath, ang isyu ng 'pangunahing klase na hindi nahanap' ay isang bagay na sumasagi sa mga amateur at pareho ng mga propesyonal.





Ngunit ang isyung ito ay talagang hindi gaanong nakakatakot kaysa sa tila. Basahin ang nalalaman upang malaman kung paano mo matatanggal ang error na ito nang sabay-sabay at para sa lahat.





Bakit Hindi Nahanap ang Pangunahing Klase?

Bago namin subukang unawain kung paano at kung bakit hindi nahanap ng JVM ang pangunahing klase, kailangan nating maunawaan ang konsepto ng Classpath sa Java.

Ano ang Classpath?

Ang classpath ay ang file path na hinahanap ng Java runtime environment para sa mga klase at iba pang mga file ng mapagkukunan. Maaari itong itakda gamit ang alinman sa -classpath opsyon kapag nagpapatupad ng isang programa o sa pamamagitan ng pagtatakda ng system CLASSPATH variable ng kapaligiran.



Tulad ng ipinahihiwatig ng pangalan, ito ay isang file path lamang kung saan ang .klaseng ang mga file ay matatagpuan sa isang pakete o direktoryo ng JDK.

Kapag hindi mahanap ng JVM ang pangunahing klase, madalas ito dahil hinahanap nito ang kaukulang .klaseng mga file sa maling classpath. Siyempre, ang paraan upang maitama ang problemang ito ay upang manu-manong tukuyin ang classpath sa pamamagitan ng paggamit ng mga pakete o pagtukoy sa classpath.





Sa puntong ito, kung nais mong i-refresh ang iyong memorya ng mga klase sa Java, tingnan ang aming gabay para sa lumilikha ng mga klase sa Java .

kung paano linisin ang isang fan ng ps4

Paggamit ng Mga Pakete

Lumikha tayo ng isang klase na tinawag Pagsusulit . Ilagay ito sa isang pakete na tinatawag pagsubokPackage . Ginagamit ang mga package sa Java upang maipangkat ang magkatulad na mga klase nang magkasama o magbigay ng isang natatanging namespace para sa mga klase.





Sa simpleng halimbawang ito, makakatulong sa iyo ang paggamit ng isang pakete na mailarawan kung paano gumagana ang classpath ng Java. Sa iyong aplikasyon ng file manager, ang isang pakete ay kinakatawan bilang isang independiyenteng folder.

package testPackage;
public class Test {
public static void main(String args[]) {
System.out.println('File successfully found!');
}
}

Ngayon, buksan ang isang bagong terminal at tiyakin na ang iyong gumaganang direktoryo ay pareho sa isa na naglalaman ng folder ng package. Maaari mong baguhin ang gumaganang direktoryo sa pamamagitan ng paggamit ng CD utos sa anumang operating system.

Magtipon Pagsubok.java sa pamamagitan ng pagpapatakbo ng sumusunod na utos:

package testPackage;
javac testPackage/Test.java

Ise-save nito ang naipong binary file (ang .class file) sa testPackage.

Upang patakbuhin ang naipon na klase, kailangan mong i-type ang buong kwalipikadong pangalan ng klase sa linya ng utos. Ang isang ganap na kwalipikadong pangalan ng isang klase ng Java ay tumutukoy sa pangalan nito na pauna sa pangalan ng package. Sa kasong ito, ito ay dapat magmukhang ganito:

java testPackage.Test

Ang ganitong paraan ng pagtawag sa mga file ng klase ay tinitiyak din na maaari kang tumawag sa mga maipapatupad mula sa iba't ibang mga pakete mula sa parehong direktoryo ng pagtatrabaho. Ang kailangan mo lang gawin ay baguhin ang ganap na kwalipikadong pangalan ng klase.

Sa mas advanced na pagpapatupad, inirerekumenda namin na lumikha ka ng magkakahiwalay na mga subfolder para sa iyong mga klase at mapagkukunan ng mga file upang mas mahusay na pamahalaan ang mga file sa loob ng package.

Mano-manong Pagtukoy sa Classpath

Ang inirekumendang paraan upang pamahalaan ang iyong mga file ng java ay ang paglikha ng magkakahiwalay na direktoryo para sa mga mapagkukunang file at klase. Kung nagtatrabaho ka sa isang proyekto, malamang na nagagawa mo na ito.

Ayon sa kaugalian, ang direktoryo na may mga file ng mapagkukunan ay may label bilang src at ang may mga .class file ay may label na bilang mga klase. Ito rin ay isang paraan upang matiyak na ang posibilidad na hindi mahanap ng JVM ang pangunahing klase ay nabawasan nang malaki, dahil sa maayos na nakabalangkas na direktoryo.

Kung gagamitin namin ang pamamaraang ito, ito ang magiging hitsura ng istraktura ng direktoryo bago isulat:

saan ako makakapunta upang mai-print ang isang bagay
|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes

Ang bawat indent sa ilustrasyon sa itaas ay tumutugma sa isang antas ng hierarchy ng file na dapat sundin ng iyong proyekto.

Upang maipon ito, siguraduhin na ang iyong gumaganang direktoryo ay myFolder. Ngayon, i-type ang sumusunod na utos:

javac -d classes src/testPackage/Test.java

Ang .klaseng maipapatupad ay dapat na nai-save sa myFolder / mga klase / pagsubokPackage . Alinsunod dito, ang istraktura ng direktoryo ng file ay ganito ang hitsura:

|---myFolder
| |---src
| |---testPackage
| |---Test.java
|
| |---classes
| |---testPackage
| |---Test.class

Upang patakbuhin ang .klaseng file, patakbuhin ang utos ng Java na may ganap na kwalipikadong pangalan ng klase at tukuyin ang lokal na classpath. Ang bawat landas ay idineklara na may kaugnayan sa gumaganang direktoryo, na sa kasong ito ay myFolder.

java -classpath classes testPackage

Ang pagpapatakbo ng utos na ito ay dapat magbigay sa iyo ng nais na output. Ngunit, bakit kinakailangan ang labis na muling pagsasaayos upang malutas ang isang simpleng error?

Ang Kahalagahan ng Pag-aayos ng Mga File sa Java

Ang dahilan kung bakit itinapon ang 'Hindi Mahanap o Mag-load ng Pangunahing Klase' ay dahil hindi nahanap ng JVM kung saan ang iyong .klaseng ang mga file ay naiimbak.

Ang pinakamadaling paraan upang malutas ang error na ito ay upang makontrol kung saan nakaimbak ang .class file at tahasang sabihin sa JVM na tumingin doon. Ginawa itong posible sa pamamagitan ng pag-aayos ng iyong mga pinagmulang file at executable na magkahiwalay at pagkontrol sa lahat mula sa isang gumaganang direktoryo.

Habang nagsisimula kang magdagdag ng mga konstruksyon tulad ng mana sa iyong proyekto, ang pagiging kumplikado ng file system ay nakasalalay upang madagdagan ang sari-sari. Sa mga nasabing proyekto o kahit sa mga kung saan kinakailangan ng paggamit ng mga JAR file o pasadyang silid aklatan, ang simpleng kasanayan sa paghihiwalay at pamamahala ng mga file ay makakapagtipid sa iyo ng hindi mabilang na oras ng pag-troubleshoot at pag-debug.

Upang mabasa ang tungkol sa kung paano gumagana ang classpath sa Java at ang maraming mga bagay na maaari mong makontrol pagdating sa pagpapatakbo ng iyong code, maaari mo ring tingnan ang Oracle's detalyadong at sanggunian na madaling gamitin ng gumagamit .

Magbahagi Magbahagi Mag-tweet Email Ang 10 Pinakamahusay na Mga Bagay na Proyekto para sa Mga Bagong Programmer

Nais mong malaman ang programa ngunit hindi alam kung saan magsisimula? Ang mga proyektong ito at mga tutorial ng nagsisimula na programa ay sisimulan ka.

windows 10 windows button at hindi gumagana ang paghahanap
Basahin Susunod Mga Kaugnay na Paksa
  • Programming
  • Java
Tungkol sa May-akda Yash Chellani(10 Mga Artikulo Na-publish)

Si Yash ay isang naghahangad na mag-aaral ng computer science na gustong bumuo ng mga bagay at magsulat tungkol sa lahat ng mga bagay na tech. Sa kanyang libreng oras, gusto niyang maglaro ng Squash, basahin ang isang kopya ng pinakabagong Murakami, at manghuli ng mga dragon sa Skyrim.

Higit pa Mula kay Yash Chellani

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe