లోపం ‘ ప్రధాన తరగతిని కనుగొనడం లేదా లోడ్ చేయడం సాధ్యం కాలేదు టెర్మినల్లో క్లాస్ పేరును పేర్కొనడం ద్వారా జావా ప్రోగ్రామ్ను ప్రారంభించడానికి కమాండ్ ప్రాంప్ట్లో జావా కమాండ్ను ఉపయోగిస్తున్నప్పుడు ’సంభవిస్తుంది. ఇది జరగడానికి కారణం తరగతి ప్రకటించేటప్పుడు వినియోగదారు ప్రోగ్రామింగ్ పొరపాటు.
ప్రధాన తరగతి- జావా కమాండ్ లైన్ను కనుగొనడం లేదా లోడ్ చేయడం సాధ్యం కాలేదు
ముందు చెప్పినట్లుగా, ఈ లోపం ఎక్కువగా సిస్టమ్కి సంబంధించినది కాదు మరియు క్రింద చూపిన విధంగా వినియోగదారు అనేక సందర్భాల్లో పొరపాటు చేస్తారు. ముందుకు వెళ్ళే ముందు, మీకు జావా ప్రోగ్రామింగ్ భాషపై ప్రాథమిక జ్ఞానం ఉందని మరియు అది ఎలా పనిచేస్తుందో మేము అనుకుంటాము.
జావాలో ‘ప్రధాన తరగతిని కనుగొనడం లేదా లోడ్ చేయడం సాధ్యం కాలేదు’ లోపానికి కారణమేమిటి?
‘ప్రధాన తరగతిని కనుగొనడం లేదా లోడ్ చేయడం సాధ్యం కాలేదు’ అనే సందేశం అంటే అమలు కోసం తరగతిని పొందే జావా ఇంజిన్ యొక్క మొదటి దశ విఫలమైంది. ది java ఆదేశం కుదరలేదు గుర్తించండి సరైన డైరెక్టరీ వద్ద తరగతి.
కొన్ని సందర్భాల్లో, మీరు జోడించాలి సరైన ఫైల్ మార్గం మరియు జావా టెర్మినల్ను సరైన స్థానానికి సూచించండి. మీరు కమాండ్ లైన్ టెర్మినల్ నుండి ఆదేశాన్ని అమలు చేస్తున్నందున, తరగతి ఎక్కడ దొరుకుతుందో లేదా ఎక్కడ ఉందో కంప్యూటర్కు తెలియదు. లక్ష్యంగా ఉన్న IDE లలో, IDE ప్రస్తుత వర్కింగ్ డైరెక్టరీ వైపు పాయింటర్ను ఉంచడం వలన ఇది సమస్య కాదు.
‘జావా’ వాక్యనిర్మాణం అంటే ఏమిటి?
అమలు చేయడానికి ప్రయత్నిస్తున్నప్పుడు టెర్మినల్ మనకు ఎందుకు లోపం ఇస్తుందో ట్రబుల్షూటింగ్ ప్రారంభించే ముందు, మొదట మనం కమాండ్ యొక్క వాక్యనిర్మాణాన్ని చూడాలి. మీరు సరైన వాక్యనిర్మాణాన్ని ఉపయోగించకపోతే, మీరు ఈ లోపాన్ని అనివార్యంగా ఎదుర్కొంటారు.
ఆదేశం యొక్క సాధారణ వాక్యనిర్మాణం ఇలా ఉంటుంది:
జావా [...] [...]
ఇక్కడ కమాండ్ లైన్ ఎంపిక, ఇది పూర్తి అర్హత కలిగిన జావా క్లాస్ పేరు, మరియు ఇది కమాండ్ లైన్ ఆర్గ్యుమెంట్, ఇది మొత్తం ప్యాకేజీ కంపైల్ చేసినప్పుడు మీ అప్లికేషన్కు పంపబడుతుంది.
చెల్లుబాటు అయ్యే ఆదేశానికి ఉదాహరణ:
java -Xmx100m com.acme.example.ListAppuals కెవిన్ బాణాలు బార్ట్
పై ఆదేశం జావా కమాండ్ కింది ఆపరేషన్లను అమలు చేస్తుంది:
- ఇది తరగతి యొక్క సంకలనం చేసిన సంస్కరణ కోసం శోధిస్తుంది ‘ com.acme.example.ListAppuals '.
- శోధించిన తరువాత, అది తరగతిని లోడ్ చేస్తుంది.
- తరువాత, తరగతి లోడ్ అయినప్పుడు, చెల్లుబాటు అయ్యే సంతకం, మాడిఫైయర్లు మరియు రిటర్న్ రకంతో తరగతి ‘ప్రధాన’ పద్ధతి కోసం శోధించబడుతుంది. నమూనా ప్రధాన తరగతి ఇలా ఉంటుంది:
పబ్లిక్ స్టాటిక్ శూన్య ప్రధాన (స్ట్రింగ్ [])
- ఈ పద్ధతిని వాదనలు ‘కెవిన్’, ‘బాణాలు’ మరియు ‘బార్ట్’ స్ట్రింగ్గా పిలుస్తారు [].
ఎలా పరిష్కరించాలి ‘ప్రధాన తరగతిని కనుగొనడం లేదా లోడ్ చేయడం సాధ్యం కాలేదు’
పరిష్కారం 1: తరగతి పేరు వాదనను తనిఖీ చేస్తోంది
వినియోగదారులు చేసే అత్యంత సాధారణ తప్పు ఏమిటంటే వారు తప్పు తరగతి పేరును వాదనగా అందిస్తారు (లేదా సరైన తరగతి పేరు తప్పు రూపం). మేము కమాండ్ లైన్లో పారామితులను ప్రకటిస్తున్నందున, మీరు క్లాస్ నేమ్ ఆర్గ్యుమెంట్ను తప్పు రూపంలో పాస్ చేసే అవకాశం ఉంది. మీరు పొరపాటు చేయగల అన్ని దృశ్యాలను ఇక్కడ మేము జాబితా చేస్తాము.
- రాయడం a సాధారణ తరగతి పేరు . మీరు ‘com.acme.example’ వంటి ప్యాకేజీలో తరగతిని ప్రకటిస్తే, మీరు తప్పక ఉపయోగించాలి పూర్తి తరగతి పేరు జావా కమాండ్లోని ప్యాకేజీతో సహా.
java com.acme.example.ListAppuals
బదులుగా
java ListAppuals
- మీరు తప్పక తరగతి పేరు ప్రకటించండి ఫైల్ పేరు లేదా పాత్ పేరును ప్రకటించే బదులు. మీరు దాని కోసం పాత్ నేమ్ / ఫైల్ పేరును ప్రకటిస్తే జావా క్లాస్ పొందదు. తప్పు ఎంట్రీలలో ఈ క్రిందివి ఉన్నాయి:
java ListAppuals.class java com / acme / example / ListAppuals.class
- కేసింగ్ పరిగణనలోకి తీసుకోవాలి. జావా ఆదేశాలు కేస్ సెన్సిటివ్ మరియు మీరు ఒక అక్షరం కూడా పొరపాటు చేస్తే, మీరు ప్రధాన తరగతిని లోడ్ చేయలేరు. యొక్క ఉదాహరణ తప్పు తప్పులు అవి:
java com.acme.example.listappuals
- మీరు చేయ్యాకూడని ప్రకటించండి మూలం ఫైల్ పేరు . ముందు చెప్పినట్లుగా, మీరు తరగతిని సరైన పూర్తి తరగతి పేరు ఆకృతిలో మాత్రమే ప్రకటించాలి. పొరపాటుకు ఉదాహరణ:
java ListAppuals.java
- మీరు ఒక చేస్తే ఈ లోపం కూడా సంభవిస్తుంది టైప్ పొరపాటు లేదా తరగతి పేరును పూర్తిగా రాయడం మర్చిపోండి .
తరగతి పేరును ప్రకటించడంలో మీరు ఏమైనా అలసత్వమైన పొరపాట్లు చేస్తే, మీరు దాన్ని పరిష్కరించారని నిర్ధారించుకోండి, ఆపై ప్రోగ్రామ్ను ప్రారంభించడానికి ప్రయత్నించండి.
పరిష్కారం 2: క్లాస్పాత్ను తనిఖీ చేస్తోంది
మీరు తరగతి పేరును సరిగ్గా ప్రకటించినప్పటికీ, ఇంకా లోపం చూపబడితే, జావా కమాండ్ మార్గంలో పేర్కొన్న క్లాస్ పేరును కనుగొనలేకపోయే అవకాశాలు ఉన్నాయి. క్లాస్పాత్ అనేది జావా రన్టైమ్ రిసోర్స్ మరియు క్లాస్ ఫైల్ల కోసం శోధిస్తున్న మార్గం. క్రింద చూపిన విధంగా మీరు రెండు వేర్వేరు ఆదేశాలను ఉపయోగించి క్లాస్పాత్ను సులభంగా సెట్ చేయవచ్చు:
సి:> sdkTool -classpath classpath1; classpath2 ... C:> సెట్ CLASSPATH = classpath1; classpath2 ...
క్లాస్పాత్కు సంబంధించి మరింత అవగాహన పొందడానికి, మీరు ఈ క్రింది పత్రాలను చూడాలి.
జావా కమాండ్ డాక్యుమెంటేషన్
క్లాస్పాత్ను సెట్ చేస్తోంది
పరిష్కారం 3: డైరెక్టరీని తనిఖీ చేస్తోంది
మీరు డైరెక్టరీని క్లాస్పాత్గా ప్రకటించినప్పుడు, ఇది ఎల్లప్పుడూ నేమ్స్పేస్ యొక్క మూలానికి అనుగుణంగా ఉంటుంది. ఉదాహరణకు “/ usr / local / acme / classes” క్లాస్పాత్లో ఉంటే, జావా “com.acme.example.Appuals” క్లాస్ కోసం శోధిస్తుంది. ఇది క్రింది పాత్ పేరుతో తరగతి కోసం చూస్తుంది:
/usr/local/acme/classes/com/acme/example/Appuals.class
కాబట్టి సారాంశంలో, మీరు ఈ క్రింది చిరునామాను క్లాస్పాత్లో ఉంచితే, జావా క్లాస్ను కనుగొనలేరు:
/ usr / local / acme / classes / com / acme / example
మీరు కూడా మీ తనిఖీ చేయాలి ఉప డైరెక్టరీ మరియు అది FQN తో సరిపోతుందో లేదో చూడండి. మీ తరగతులు FQN “com.acme.example.Appuals” అయితే, జావా “com / acme / example” డైరెక్టరీలో “Appuals.class” కోసం శోధిస్తుంది.
మీకు ఒక ఉదాహరణ ఇవ్వడానికి, ఈ క్రింది దృష్టాంతాన్ని అనుకుందాం:
- మీరు అమలు చేయాలనుకుంటున్న తరగతి: com.acme.example.Appuals
- ది పూర్తి ఫైల్ మార్గం ఇది: /usr/local/acme/classes/com/acme/example/Appuals.class
- ది ప్రస్తుత వర్కింగ్ డైరెక్టరీ ఇది: / usr / local / acme / classes / com / acme / example /
అప్పుడు ఈ క్రింది దృశ్యాలు ఉంటాయి:
# తప్పు, FQN అవసరం జావా యాప్యువల్స్ # తప్పు, ప్రస్తుత వర్కింగ్ డైరెక్టరీలో `com / acme / example` ఫోల్డర్ లేదు java com.acme.example.Appuals # తప్పు, పై దృష్టాంతంలో ఉన్న జావా-క్లాస్పాత్ మాదిరిగానే. com.acme.example.Appuals # OK; సాపేక్ష క్లాస్పాత్ జావా-క్లాస్పాత్ ../../ .. com.acme.example.Appuals # OK; ఒక సంపూర్ణ క్లాస్పాత్ జావా-క్లాస్పాత్ / యుఎస్ఆర్ / లోకల్ / అక్మే / క్లాసులు com.acme.example.Appuals
గమనిక: క్లాస్పాత్లో మీ అనువర్తనాలకు అవసరమైన అన్ని ఇతర తరగతులను (నాన్-సిస్టమ్) కూడా చేర్చాలి.
పరిష్కారం 4: తరగతి ప్యాకేజీని తనిఖీ చేస్తోంది
పైన పేర్కొన్న అన్ని పరిష్కారాలు మీ విషయంలో నిజమైతే, మీ సోర్స్ కోడ్ సరైన ఫోల్డర్లో ఉంచబడిందని మీరు నిర్ధారించుకోవాలి. అలాగే, మీరు సరిగ్గా ప్రకటించారు ప్యాకేజీ . మీరు మీ కోడ్ను IDE తో నడుపుతుంటే, అది సమస్యకు సంబంధించి మీకు తెలియజేస్తుంది. అయినప్పటికీ, మా విషయంలో, మేము దానిని కమాండ్ ప్రాంప్ట్లో నడుపుతున్నందున, పొరపాటు గుర్తించబడదు మరియు మీరు చర్చలో తరగతి లోపం పొందుతారు.
4 నిమిషాలు చదవండి