logo

Kā iestatīt CLASSPATH Java

CLASSPATH: CLASSPATH ir vides mainīgais, ko lietojumprogramma ClassLoader izmanto, lai atrastu un ielādētu .class failus. CLASSPATH nosaka ceļu, lai atrastu trešās puses un lietotāja definētas klases, kas nav Java platformas paplašinājumi vai daļa. Iestatot CLASSPATH, iekļaujiet visus direktorijus, kuros ir .class faili un JAR faili.

Jums ir jāiestata CLASSPATH, ja:

saistītais saraksts
  • Jums ir jāielādē klase, kuras nav pašreizējā direktorijā vai apakšdirektorijās.
  • Jums ir jāielādē klase, kas neatrodas paplašinājuma mehānisma norādītajā vietā.

CLASSPATH ir atkarīgs no tā, ko iestatāt CLASSPATH. CLASSPATH beigās ir direktorija vai faila nosaukums. Tālāk ir aprakstīts, kam vajadzētu būt CLASSPATH beigām.

  • Ja fails ir JAR vai zip, fails satur klases failus, CLASSPATH beidzas ar zip vai JAR faila nosaukumu.
  • Ja klases faili ir ievietoti nenosauktā pakotnē, CLASSPATH beidzas ar direktoriju, kurā atrodas klases faili.
  • Ja klases faili ir ievietoti nosauktā pakotnē, CLASSPATH beidzas ar direktoriju, kurā ir saknes pakotne pilnā pakotnes nosaukumā, kas ir pirmā pakotne pilnajā pakotnes nosaukumā.

CLASSPATH noklusējuma vērtība ir punkts (.). Tas nozīmē, ka tiek meklēts vienīgais pašreizējais direktorijs. CLASSPATH noklusējuma vērtība tiek ignorēta, iestatot mainīgo CLASSPATH vai izmantojot komandu -classpath (īsumā -cp). Ja vēlaties meklēšanas ceļā iekļaut pašreizējo direktoriju, jaunajā iestatījumā ievietojiet punktu (.).

Ja CLASSPATH atrod klases failu, kas atrodas pašreizējā direktorijā, tas ielādēs klasi un to izmantos neatkarīgi no tā, vai klases nosaukums ir citā direktorijā, kas arī ir iekļauts CLASSPATH.

Ja vēlaties iestatīt vairākus klases ceļus, katrs CLASSPATH ir jāatdala ar semikolu (;).

Trešo pušu lietojumprogrammas (MySQL un Oracle), kas izmanto JVM, var modificēt vides mainīgo CLASSPATH, iekļaujot tajā izmantotās bibliotēkas. Klases var glabāt direktoriju vai arhīvu failos. Java platformas klases tiek glabātas rt.jar.

Ir divi veidi, kā iestatīt CLASSPATH: izmantojot komandu uzvedni vai iestatot vides mainīgo.

Apskatīsim, kā iestatīt MySQL datu bāzes CLASSPATH:

1. darbība: Noklikšķiniet uz Windows pogas un izvēlieties Vadības panelis. Izvēlieties Sistēma.

Kā iestatīt CLASSPATH Java

2. darbība: Klikšķiniet uz Sistēmas papildu iestatījumi .

Kā iestatīt CLASSPATH Java

3. darbība: Tiks atvērts dialoglodziņš. Noklikšķiniet uz Vides mainīgie.

Kā iestatīt CLASSPATH Java

4. darbība: Ja CLASSPATH jau pastāv sistēmas mainīgajos, noklikšķiniet uz pogas Rediģēt un beigās ievietojiet semikolu (;). Ielīmējiet MySQL-Connector Java.jar faila ceļu.

Ja CLASSPATH nepastāv sistēmas mainīgajos, noklikšķiniet uz pogas Jauns un ierakstiet mainīgā nosaukumu kā CLASSPATH un mainīgā vērtību kā C:Program FilesJavajre1.8MySQL-Connector Java.jar;.;

git add --all

Atcerieties: Put ;.; CLASSPATH beigās.

Kā iestatīt CLASSPATH Java

Atšķirība starp PATH un CLASSPATH

CEĻŠ CLASSPATH
PATH ir vides mainīgais. CLASSPATH ir arī vides mainīgais.
Operētājsistēma to izmanto, lai atrastu izpildāmos failus (.exe). Programma Application ClassLoader to izmanto, lai atrastu .class failu.
Jums ir jāiekļauj direktorijs, kurā ir .exe faili. Jums ir jāiekļauj visi direktoriji, kuros ir .class un JAR faili.
Kad vides mainīgais PATH ir iestatīts, to nevar ignorēt. Vides mainīgo CLASSPATH var ignorēt, izmantojot komandrindas opciju -cp vai -CLASSPATH gan javac, gan java komandām.

Kā iestatīt CLASSPATH operētājsistēmā Windows, izmantojot komandu uzvedni

Komandu uzvednē ierakstiet šo komandu un nospiediet enter.

 set CLASSPATH=%CLASSPATH%;C:Program FilesJavajre1.8
t.jar; 

Iepriekš minētajā komandā kopa ir iekšēja DOS komanda, kas ļauj lietotājam mainīt mainīgā vērtību. CLASSPATH ir mainīga nosaukums. Mainīgais, kas ietverts procentu zīmē (%), ir esošs vides mainīgais. Semikols ir atdalītājs, un aiz (;) ir faila rt.jar PATH.

sdlc

Kā ext mape darbojas Java

Ext direktorijs darbojas mazliet kā CLASSPATH. ext direktorijs ir klases ielādes mehānisma daļa. Klases, kas ir pieejamas JAR ārējā direktorijā, ir pieejamas Java lietojumprogrammām.

Šajā tabulā ir parādīta galvenā atšķirība starp CLASSPATH un paplašinājuma mehānismu:

Raksturlielumi CLASSPATH Paplašināšanas mehānisms
Klases iekraušanas secība CLASSPATH tiek ielādēts pēc sāknēšanas un paplašinājuma ielādes. ext ielādes pēc bootstrap ielādes, bet pirms CLASSPATH ielādes.
Darbības joma Tā ir specifiska lietojumprogramma. Visi resursdatora JRE ir CLASSPATH vides mainīgais. Visi JVM darbojas īpašā JRE java.ext.dirs.
Pakas nosaukums java.class.path izmanto, lai atrastu direktorijus un JAR arhīvus, kuros ir klases faili. java.ext.dirs tiek izmantots, lai norādītu, kur paplašinājuma mehānisms ielādē klases.
Specifikācija Tas ir norādīts pēc nosaukuma, ieskaitot paplašinājumu.jar un direktoriju, kurā ir .class faili. Visi JAR faili norādītajos direktorijos tiek ielādēti.

Mehānisms paņems visus .jar failus no paplašinājumu direktorija, pat ja failam nav paplašinājuma .jar. Tas tiek īstenots, ja var mainīt klases ceļa direktorijā ievietotā jar nosaukumu, lai tam būtu paplašinājums, kas nav .jar. Aizstājējzīme (*) to neuztver. Šis paņēmiens nedarbosies ar paplašinājumu direktoriju.

Izpratīsim izpildes procesu, izmantojot piemēru.

A.java

 public class A { public String toString() { return 'hello'; } } 

B.java

 public class B { public static void main(final String[] args) { System.out.println(new A()); } } 

Apkopojiet A.java failu. mēs arhivēsim apkopoto A.class failu A.jar. Ievietojiet šo JAR failu citā direktorijā, nevis kompilētajā B.class failā.

Lai demonstrētu klases ceļa izmantošanu, mēs ievietojam A.jar failu direktorijā C:JavaPrograms un piekļūsim šim JAR, izmantojot aizstājējzīmi (*), lai izmantotu B.

Mēs atklājām, ka B joprojām var ielādēt A.class, kamēr mēs to bijām izdzēsuši no pašreizējā direktorija. Java palaidējs tika tieši meklēts C:JavaProgram. Ir iespējams arī ielādēt klasi bez tās klātbūtnes tajā pašā direktorijā un skaidras klases ceļa specifikācijas.

To bieži dēvē par paplašinājuma mehānisma izmantošanas priekšrocību, jo visas lietojumprogrammas, kas izmanto šo JRE, var redzēt vienas un tās pašas klases bez nepieciešamības tās skaidri norādīt klases ceļā.

Kas notiek, ja mēs mainīsim A.jar nosaukumu uz A.backup tajā pašā direktorijā, uz kuru attiecas CLASSPATH. NoClassDefFoundError tiek konstatēts, kad mēs darām to pašu, jo CLASSPATH atsaucei nav paplašinājuma .jar.

java korteži