On hyvin yleistä kohdata virheitä ja poikkeuksia Java-ohjelmointikielessä. Mutta jotkut suosituimmista ja yleisimmistä virheistä kohtaavat usein ohjelmoijat, jotka ovat uusia ohjelmoinnissa. Näistä virheistä mm. ei löytänyt tai lataa pääluokkaa Javassa, on yksi niistä, joka tapahtuu yleensä. Virhe osoittaa, että java komento epäonnistunut löytääksesi tai ladataksesi pääluokan . Se tapahtuu, kun yritämme ajaa ohjelmaa. Kun virhe ilmenee, JVM näyttää seuraavan virhesanoman konsolissa:
Error: Could not find or load main class ClassName
Virhe syntyy useimmiten, kun määritämme luokan nimen väärin ohjelman ajon aikana.
Syitä virheen esiintymiseen
Virhe syntyy, koska JVM pääluokan tai paketin nimen lataaminen ei onnistu. On joitakin muita syitä, jotka aiheuttavat saman virheen, kuten seuraavat:
- Luokka on ilmoitettu väärässä paketissa.
- CLASSPATHista puuttuu riippuvuuksia.
- Alihakemiston polku ei vastaa täyttä nimeä.
- Väärä hakemisto on CLASSPATHissa.
- Sovelluksen CLASSPATH on määritetty väärin.
- Esiintyy myös, kun olemme tehneet virheen luokan nimi argumentin kanssa.
Ratkaisu Virheeseen
Virheen välttämiseksi tai ratkaisemiseksi meidän on määritettävä ehdoton paketin tai luokan nimi.
Ilman Pakettia
Pääluokka on luokka, jossa main()-metodi on määritelty. Luodaan ohjelma, joka luo ja näyttää virheen konsolissa.
DemoClass.java
public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //using console to input data from user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Lähtö:
Näemme, että yllä oleva ohjelma käännetään ja suoritetaan onnistuneesti. Luodaan se virhe pääluokkaa ei löytynyt tai ladata yllä olevassa ohjelmassa. Virheen luomiseksi ja näyttämiseksi meillä on kirjoitettu väärin luokan nimeä kirjoittaessasi java komento java DemoClas .
Se tapahtuu myös, kun määritämme .luokka laajennus luokan nimen lopussa.
java DemoClass.class
Älä kirjoita virheen välttämiseksi .luokka laajennus luokan nimen lopussa, kun käytät java komento.
java DemoClass
Virhe ilmenee myös silloin, kun emme sijoita luokkaa oikeaan kansioon. Seuraavassa kuvassa emme ole sisällä demo kansio, jossa luokka sijaitsee. Se tarkoittaa DemoClass.class tiedoston on oltava hakemiston sisällä C:demo .
Paketin kanssa
Yllä olevassa ohjelmassa luodaan paketti nimeltä com.javatpoint . Se tarkoittaa, että seuraavan Java-ohjelman käännösvaiheessa .class-tiedosto luodaan ohjelman sisällä C:democomjavatpointDemoClass.class .
DemoClass.java
package com.javatpoint; public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //reading a string from the user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Lähtö:
Muista, että jos luokka on paketin sisällä, meidän on käytettävä koko luokan nimeä, mukaan lukien paketin nimi, java-komennossa.