ЦЛАССПАТХ: ЦЛАССПАТХ је променљива окружења коју користи Апплицатион ЦлассЛоадер за лоцирање и учитавање датотека .цласс. ЦЛАССПАТХ дефинише путању за проналажење класа треће стране и кориснички дефинисаних класа које нису екстензије или део Јава платформе. Укључите све директоријуме који садрже .цласс датотеке и ЈАР датотеке када постављате ЦЛАССПАТХ.
Морате да подесите ЦЛАССПАТХ ако:
јдбц јдбц
- Морате да учитате класу која није присутна у тренутном директоријуму или било ком поддиректоријуму.
- Морате да учитате класу која није на локацији коју је одредио механизам екстензија.
ЦЛАССПАТХ зависи од тога шта постављате ЦЛАССПАТХ. ЦЛАССПАТХ има име директоријума или име датотеке на крају. Следеће тачке описују шта би требало да буде крај ЦЛАССПАТХ-а.
- Ако је ЈАР или зип, датотека садржи датотеке класе, ЦЛАССПАТХ завршава именом зип или ЈАР датотеке.
- Ако су датотеке класе смештене у неименовани пакет, ЦЛАССПАТХ се завршава директоријумом који садржи датотеке класа.
- Ако су датотеке класе смештене у именовани пакет, ЦЛАССПАТХ се завршава директоријумом који садржи коренски пакет у пуном имену пакета, то је први пакет у пуном имену пакета.
Подразумевана вредност ЦЛАССПАТХ је тачка (.). То значи да је једини тренутно тражен директоријум. Подразумевана вредност ЦЛАССПАТХ се замењује када поставите променљиву ЦЛАССПАТХ или користите команду -цласспатх (за кратко -цп). Ставите тачку (.) у ново подешавање ако желите да укључите тренутни директоријум у путању за претрагу.
Ако ЦЛАССПАТХ пронађе датотеку класе која је присутна у тренутном директоријуму, онда ће учитати класу и користити је, без обзира на то да ли је класа истог имена присутна у другом директоријуму који је такође укључен у ЦЛАССПАТХ.
Ако желите да поставите више путања класа, онда морате сваки ЦЛАССПАТХ одвојити тачком и зарезом (;).
Апликације трећих страна (МиСКЛ и Орацле) које користе ЈВМ могу да модификују променљиву окружења ЦЛАССПАТХ да би укључиле библиотеке које користе. Класе се могу чувати у директоријумима или архивским датотекама. Класе Јава платформе се чувају у рт.јар.
Постоје два начина за постављање ЦЛАССПАТХ: преко командне линије или подешавањем променљиве окружења.
Хајде да видимо како да подесите ЦЛАССПАТХ МиСКЛ базе података:
Корак 1: Кликните на дугме Виндовс и изаберите Цонтрол Панел. Изаберите Систем.
Корак 2: Кликните на Напредне системске поставке .
поставити делимитер јава
Корак 3: Отвориће се оквир за дијалог. Кликните на Променљиве окружења.
4. корак: Ако ЦЛАССПАТХ већ постоји у системским променљивим, кликните на дугме Уреди, а затим ставите тачку и зарез (;) на крају. Налепите путању МиСКЛ-Цоннецтор Јава.јар датотеке.
Ако ЦЛАССПАТХ не постоји у системским променљивама, кликните на дугме Ново и откуцајте име променљиве као ЦЛАССПАТХ и вредност променљиве као Ц:Програм ФилесЈавајре1.8МиСКЛ-Цоннецтор Јава.јар;.;
Запамтите: Ставите ;.; на крају ЦЛАССПАТХ.
Разлика између ПАТХ и ЦЛАССПАТХ
ПАТХ | ЦЛАССПАТХ |
---|---|
ПАТХ је променљива окружења. | ЦЛАССПАТХ је такође променљива окружења. |
Оперативни систем га користи за проналажење извршних датотека (.еке). | Користи га Апплицатион ЦлассЛоадер за лоцирање .цласс датотеке. |
Од вас се захтева да укључите директоријум који садржи .еке датотеке. | Од вас се захтева да укључите све директоријуме који садрже .цласс и ЈАР датотеке. |
ПАТХ променљива окружења једном постављена, не може се заменити. | Променљива окружења ЦЛАССПАТХ се може заменити коришћењем опције командне линије -цп или -ЦЛАССПАТХ за јавац и јава команду. |
Како подесити ЦЛАССПАТХ у Виндовс-у помоћу командне линије
Унесите следећу команду у командну линију и притисните ентер.
set CLASSPATH=%CLASSPATH%;C:Program FilesJavajre1.8 t.jar;
У горњој команди, Сет је интерна ДОС команда која омогућава кориснику да промени вредност променљиве. ЦЛАССПАТХ је име променљиве. Променљива затворена у знак процента (%) је постојећа променљива окружења. Тачка и зарез је сепаратор, а после (;) налази се ПАТХ датотеке рт.јар.
јава свинг туториал
Како ект фолдер ради у Јави
Ект директоријум ради помало као ЦЛАССПАТХ. ект директоријум је део механизма за учитавање класе. Класе које су доступне у ЈАР-овима у ект директоријуму доступне су Јава апликацијама.
Следећа табела показује кључну разлику између ЦЛАССПАТХ и механизма проширења:
Карактеристике | ЦЛАССПАТХ | Продужни механизам |
---|---|---|
Редослед учитавања класе | ЦЛАССПАТХ се учитава након покретања и учитавања проширења. | ект се учитава након покретања учитавања, али пре учитавања ЦЛАССПАТХ. |
Обим | То је специфична апликација. Сви ЈРЕ-ови на хосту су променљива окружења ЦЛАССПАТХ. | Сви ЈВМ-ови раде у одређеним ЈРЕ јава.ект.дирс. |
Назив пакета | јава.цласс.патх се користи за проналажење директоријума и ЈАР архива које садрже датотеке класа. | јава.ект.дирс се користи да одреди где механизам проширења учитава класе. |
Спецификација | Наведен је именом укључујући екстензију.јар и директоријум који садржи датотеке .цласс. | Учитавају се све ЈАР датотеке у одређеним директоријумима. |
Механизам ће покупити све .јар датотеке из директоријума екстензија чак и ако датотека нема екстензију .јар. Имплементација овога је да ако се може променити име јар-а који се налази у директоријуму путање класа да има екстензију која није .јар. Џокер (*) га не преузима. Ова техника неће радити са директоријумом екстензија.
Хајде да разумемо процес извршења кроз пример.
А.јава
public class A { public String toString() { return 'hello'; } }
Б.јава
public class B { public static void main(final String[] args) { System.out.println(new A()); } }
Компајлирајте А.јава датотеку. ми ћемо архивирати преведену датотеку А.цласс у А.јар. Поставите ову ЈАР датотеку у други директориј од компајлиране датотеке Б.цласс.
Да бисмо демонстрирали употребу путање класе, постављамо А.јар датотеку у директоријум Ц:ЈаваПрограмс и приступићемо том ЈАР-у преко џокер знака (*) да би га Б користио.
Открили смо да Б још увек може да учита А.класу док смо је избрисали из тренутног директоријума. Јава покретач је експлицитно тражен за Ц:ЈаваПрограм. Такође је могуће да се класа учи без њеног присуства у истом директоријуму и експлицитној спецификацији путање до класе.
Често се помиње као предност коришћења механизма проширења јер све апликације које користе тај ЈРЕ могу да виде исте класе без потребе да их експлицитно специфицирају на путањи класа.
Шта се дешава ако променимо име А.јар у А.бацкуп у истом директоријуму на који се позива ЦЛАССПАТХ. НоЦлассДефФоундЕррор се јавља када урадимо исто јер ЦЛАССПАТХ-референца нема екстензију .јар.
трајање јава