Поправка: Није могуће пронаћи или учитати главну класу



Испробајте Наш Инструмент За Елиминисање Проблема

Грешка ' Није могуће пронаћи или учитати главну класу ’Се јавља када се у командној линији користи јава наредба за покретање Јава програма наводећи име класе у терминалу. Разлог зашто се то дешава је углавном због програмске грешке корисника приликом пријављивања класе.



Не могу да пронађем или учитам главну класу у Јава командној линији

Није могуће пронаћи или учитати главну класу - Јава командну линију



Као што је раније поменуто, ова грешка углавном није повезана са системом и корисник погреши у неколико сценарија као што је приказано у наставку. Пре него што кренемо напред, претпостављамо да имате основно знање о програмском језику Јава и како он функционише.



Шта узрокује грешку „Не могу да пронађем или учитам главну класу“ на Јави?

Порука „Не могу пронаћи или учитати главну класу“ значи да први корак Јава-овог механизма за преузимање класе за извршење није успео. Тхе Јава команда није био у могућности лоцирати класа у исправном директоријуму.

У неким случајевима морате додати тачан пут до датотеке и усмјерите Јава терминал на тачно мјесто. Будући да извршавате наредбу са терминала командне линије, рачунар не зна где се класа може наћи или где се налази. У циљаним ИДЕ-има то није проблем јер ИДЕ задржава показивач који показује према тренутном радном директоријуму.

Шта је синтакса „јава“?

Пре него што започнемо решавање проблема зашто нам терминал враћа грешку приликом покушаја извршавања, прво морамо погледати синтаксу наредбе. Ако не користите исправну синтаксу, неизбежно ћете се суочити са овом грешком.



Уобичајена синтакса наредбе је отприлике овако:

јава [...] [...]

Ево опције командне линије, потпуно је квалификовано име класе Јава и аргумент командне линије који се прослеђује вашој апликацији када се компајлира цео пакет.

Пример важеће наредбе је:

јава -Ксмк100м цом.ацме.екампле.ЛистАппуалс кевин стрелице барт

Горња наредба учиниће да јава наредба изврши следеће операције:

  • Тражиће компајлирану верзију класе „ цом.ацме.екампле.ЛистАппуалс '.
  • Након претраживања учитаће класу.
  • Даље, када се класа учита, класа ће се тражити ‘главна’ метода са важећим потписом, модификаторима и типом повратка. Узорак главне класе био би нешто попут:
јавна статичка воид главна (Стринг [])
  • Метода ће се позивати са аргументима „кевин“, „стрелице“ и „барт“ као низ [].

Како поправити „Није могуће пронаћи или учитати главну класу“

Решење 1: Провера аргумента имена класе

Најчешћа грешка коју корисници чине је да као аргумент дају погрешно име класе (или је тачно име класе погрешан облик). Будући да декларишемо параметре у командној линији, велика је вероватноћа да ћете аргумент класе имена проследити у погрешном облику. Овде ћемо навести све могуће сценарије у којима можете погрешити.

  • Писање а једноставно име класе . Ако класу пријавите у пакету као што је „цом.ацме.екампле“, морате да користите пуно име класе укључујући пакет у наредбу Јава.
јава цом.ацме.екампле.ЛистАппуалс

уместо

јава ЛистАппуалс
  • Требао би прогласите име класе уместо декларисања имена датотеке или путање. Јава не преузима класу ако за њу прогласите име путање / име датотеке. Неисправан уноси укључују следеће:
јава ЛистАппуалс.цласс јава цом / ацме / екампле / ЛистАппуалс.цласс
  • Кућиште треба узети у обзир. Јава наредбе разликују велика и мала слова и ако погрешите чак и једно слово, нећете моћи учитати главну класу. Пример за нетачне грешке су:
јава цом.ацме.екампле.листаппуалс
  • ти не треба изјавити да име изворне датотеке . Као што је већ поменуто, класу морате пријавити само у исправном формату пуног назива класе. Пример грешке је:
јава ЛистАппуалс.јава
  • До ове грешке ће доћи и ако направите грешка у куцању или заборавите да у потпуности напишете назив класе .

Ако сте направили било какву траљаву грешку у декларисању назива класе, обавезно га поправите и покушајте да покренете програм.

Решење 2: Провера путање предавања

Ако сте исправно прогласили име класе, али вам се и даље приказује грешка, шанса је да јава наредба није могла пронаћи наведено име класе на путањи. Пут класа је путања на којој Јава рунтиме тражи датотеке ресурса и класе. Путање предавања можете лако поставити помоћу две различите команде као што је приказано доле:

Ц:> сдкТоол -цласспатх цласспатх1; цласспатх2 ... Ц:> сет ЦЛАССПАТХ = цласспатх1; цласспатх2 ...

Да бисте добили бољи увид у пут предавања, требало би да погледате следеће документе.

Јава командна документација

Постављање путање предавања

Решење 3: Провера директоријума

Када декларишете директоријум као пут до класе, он ће увек одговарати корену простора имена. На пример, ако је „/ уср / лоцал / ацме / цлассес“ на путу предавања, тада ће Јава тражити класу „цом.ацме.екампле.Аппуалс“. Тражиће класу са следећим именом путање:

/уср/лоцал/ацме/цлассес/цом/ацме/екампле/Аппуалс.цласс

Дакле, у суштини, ако у пут стазе ставите следећу адресу, Јава неће моћи да пронађе класу:

/ уср / лоцал / ацме / цлассес / цом / ацме / екампле

Такође би требало да проверите свој поддиректориј и погледајте да ли се подудара са ФКН-ом. Ако је ФКН ваших класа „цом.ацме.екампле.Аппуалс“, тада ће Јава тражити „Аппуалс.цласс“ у директоријуму „цом / ацме / екампле“.

Да бисмо вам дали пример, претпоставимо следећи сценарио:

  • Класа коју желите да покренете је: цом.ацме.екампле.Аппуалс
  • Тхе пуни пут до датотеке је: /уср/лоцал/ацме/цлассес/цом/ацме/екампле/Аппуалс.цласс
  • Тхе тренутни радни директоријум је: / уср / лоцал / ацме / цлассес / цом / ацме / екампле /

Тада би се одржали следећи сценарији:

# погрешно, потребан је ФКН јава Аппуалс # погрешно, у тренутном радном директоријуму јава цом.ацме.екампле.Аппуалс # не постоји директоријум `цом / ацме / екампле` # погрешно, слично горњем сценарију јава -цласспатх. цом.ацме.екампле.Аппуалс # ОК; постављена је релативна пут до класе јава -цласспатх ../../ .. цом.ацме.екампле.Аппуалс # ОК; поставља се апсолутна пут до класе јава -цласспатх / уср / лоцал / ацме / цлассес цом.ацме.екампле.Аппуалс

Белешка: Пут предавања такође треба да садржи све остале класе (несистемске) које су потребне вашим апликацијама.

Решење 4: Провера пакета класе

Ако се сва наведена решења у вашем случају испуне тачно, морате да будете сигурни да је ваш изворни код смештен у исправну фасциклу. Такође, тачно сте прогласили пакет . Ако код покренете помоћу ИДЕ-а, вероватно ће вас обавестити о проблему. Међутим, у нашем случају, с обзиром да је покрећемо у командној линији, грешка ће остати непримећена и добићете дискусију о грешци класе.

4 минута читања