சரி: பிரதான வகுப்பைக் கண்டுபிடிக்கவோ அல்லது ஏற்றவோ முடியவில்லை



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

பிழை ' பிரதான வகுப்பைக் கண்டுபிடிக்கவோ அல்லது ஏற்றவோ முடியவில்லை முனையத்தில் வர்க்கப் பெயரைக் குறிப்பிடுவதன் மூலம் ஜாவா நிரலைத் தொடங்க கட்டளை வரியில் ஜாவா கட்டளையைப் பயன்படுத்தும் போது ’ஏற்படுகிறது. இது நிகழும் காரணம் பெரும்பாலும் வகுப்பை அறிவிக்கும் போது பயனரின் நிரலாக்க தவறுதான்.



ஜாவா கட்டளை வரியில் பிரதான வகுப்பைக் கண்டுபிடிக்கவோ அல்லது ஏற்றவோ முடியவில்லை

பிரதான வகுப்பு- ஜாவா கட்டளை வரியைக் கண்டுபிடிக்கவோ அல்லது ஏற்றவோ முடியவில்லை



முன்பு குறிப்பிட்டது போல, இந்த பிழை பெரும்பாலும் கணினியுடன் தொடர்புடையது அல்ல, மேலும் கீழே காட்டப்பட்டுள்ளபடி பயனர் பல காட்சிகளில் தவறு செய்கிறார். முன்னோக்கிச் செல்வதற்கு முன், ஜாவா நிரலாக்க மொழியைப் பற்றிய அடிப்படை அறிவு மற்றும் அது எவ்வாறு இயங்குகிறது என்று நாங்கள் கருதுகிறோம்.



ஜாவாவில் ‘பிரதான வகுப்பைக் கண்டுபிடிக்கவோ அல்லது ஏற்றவோ முடியவில்லை’ என்ற பிழைக்கு என்ன காரணம்?

‘பிரதான வகுப்பைக் கண்டுபிடிக்கவோ ஏற்றவோ முடியவில்லை’ என்ற செய்தியின் அர்த்தம், மரணதண்டனைக்கு வகுப்பைப் பெறும் ஜாவா இயந்திரத்தின் முதல் படி தோல்வியடைந்தது. தி java கட்டளை முடியவில்லை கண்டுபிடி சரியான கோப்பகத்தில் வகுப்பு.

சில சந்தர்ப்பங்களில், நீங்கள் சேர்க்க வேண்டும் சரியான கோப்பு பாதை ஜாவா முனையத்தை சரியான இடத்திற்கு சுட்டிக்காட்டவும். கட்டளை வரி முனையத்திலிருந்து நீங்கள் கட்டளையை இயக்குகிறீர்கள் என்பதால், வகுப்பு எங்கு காணப்பட வேண்டும் அல்லது எங்குள்ளது என்று கணினிக்குத் தெரியாது. இலக்கு வைக்கப்பட்ட IDE களில், தற்போதைய பணி அடைவை நோக்கி ஒரு சுட்டிக்காட்டி ஐடிஇ வைத்திருப்பதால் இது பிரச்சினை அல்ல.

‘ஜாவா’ தொடரியல் என்றால் என்ன?

இயக்க முயற்சிக்கும்போது முனையம் ஏன் எங்களுக்கு ஒரு பிழையைத் தருகிறது என்பதை சரிசெய்யத் தொடங்குவதற்கு முன், முதலில் கட்டளையின் தொடரியல் பற்றி நாம் பார்க்க வேண்டும். நீங்கள் சரியான தொடரியல் பயன்படுத்தவில்லை என்றால், நீங்கள் தவிர்க்க முடியாமல் இந்த பிழையை எதிர்கொள்வீர்கள்.



கட்டளையின் சாதாரண தொடரியல் இது போன்றது:

ஜாவா [...] [...]

இங்கே ஒரு கட்டளை வரி விருப்பம், இது முழு தகுதி வாய்ந்த ஜாவா வகுப்பு பெயர், மற்றும் ஒரு கட்டளை வரி வாதமாகும், இது முழு தொகுப்பும் தொகுக்கப்படும்போது உங்கள் பயன்பாட்டிற்கு அனுப்பப்படும்.

செல்லுபடியாகும் கட்டளையின் எடுத்துக்காட்டு:

java -Xmx100m com.acme.example.ListAppuals kevin arrows bart

மேலே உள்ள கட்டளை ஜாவா கட்டளை பின்வரும் செயல்பாடுகளை இயக்க வைக்கும்:

  • இது வகுப்பின் தொகுக்கப்பட்ட பதிப்பைத் தேடும் ‘ 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.Appuals # தவறு, மேலே உள்ள காட்சியைப் போலவே ஜாவா-கிளாஸ்பாத் போன்றது. com.acme.example.Appuals # சரி; ஒரு உறவினர் வகுப்பறை அமைக்கப்பட்டுள்ளது ஜாவா-கிளாஸ்பாத் ../../ .. com.acme.example.Appuals # சரி; ஒரு முழுமையான வகுப்பறை அமைக்கப்பட்டுள்ளது java -classpath / usr / local / acme / classes com.acme.example.Appuals

குறிப்பு: உங்கள் பயன்பாடுகளுக்குத் தேவையான மற்ற எல்லா வகுப்புகளையும் (கணினி அல்லாதவை) வகுப்பறையில் சேர்க்க வேண்டும்.

தீர்வு 4: வகுப்பு தொகுப்பை சரிபார்க்கிறது

மேலே உள்ள எல்லா தீர்வுகளும் உங்கள் விஷயத்தில் உண்மையாக இருந்தால், உங்கள் மூலக் குறியீடு சரியான கோப்புறையில் வைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்த வேண்டும். மேலும், நீங்கள் சரியாக அறிவித்துள்ளீர்கள் தொகுப்பு . உங்கள் குறியீட்டை ஒரு IDE உடன் இயக்கினால், அது பிரச்சினை குறித்து உங்களுக்குத் தெரிவிக்கும். இருப்பினும், எங்கள் விஷயத்தில், நாங்கள் அதை கட்டளை வரியில் இயக்குவதால், தவறு கவனிக்கப்படாமல் போகும், மேலும் வகுப்பு பிழையை நீங்கள் விவாதத்தில் பெறுவீர்கள்.

4 நிமிடங்கள் படித்தேன்