logo

Kuinka asettaa CLASSPATH Javassa

CLASSPATH: CLASSPATH on ympäristömuuttuja, jota Application ClassLoader käyttää .class-tiedostojen paikallistamiseen ja lataamiseen. CLASSPATH määrittää polun, jolla etsitään kolmannen osapuolen ja käyttäjän määrittämiä luokkia, jotka eivät ole Java-alustan laajennuksia tai osa. Sisällytä kaikki hakemistot, jotka sisältävät .class- ja JAR-tiedostoja, kun määrität CLASSPATH:n.

Sinun on asetettava CLASSPATH, jos:

mysql lisää
  • Sinun on ladattava luokka, jota ei ole nykyisessä hakemistossa tai missään alihakemistossa.
  • Sinun on ladattava luokka, joka ei ole laajennusmekanismin määrittämässä paikassa.

CLASSPATH riippuu siitä, mitä CLASSPATH-asetusta asetat. CLASSPATH:n lopussa on hakemiston tai tiedoston nimi. Seuraavat kohdat kuvaavat CLASSPATHin lopun.

  • Jos tiedosto on JAR tai zip, tiedosto sisältää luokkatiedostoja, CLASSPATH päättyy zip- tai JAR-tiedoston nimeen.
  • Jos luokkatiedostot sijoitetaan nimettömään pakettiin, CLASSPATH päättyy hakemistoon, joka sisältää luokkatiedostot.
  • Jos luokkatiedostot sijoitetaan nimettyyn pakettiin, CLASSPATH päättyy hakemistoon, joka sisältää juuripaketin koko paketin nimessä, joka on ensimmäinen paketti koko paketin nimellä.

CLASSPATH:n oletusarvo on piste (.). Se tarkoittaa ainoaa nykyistä haettua hakemistoa. CLASSPATH-oletusarvo ohittaa, kun asetat CLASSPATH-muuttujan tai käytät -classpath-komentoa (lyhennettynä -cp). Laita piste (.) uuteen asetukseen, jos haluat sisällyttää nykyisen hakemiston hakupolkuun.

Jos CLASSPATH löytää luokkatiedoston, joka on nykyisessä hakemistossa, se lataa luokan ja käyttää sitä riippumatta siitä, minkä nimen luokka esiintyy toisessa hakemistossa, joka myös sisältyy CLASSPATHiin.

Jos haluat määrittää useita luokkapolkuja, sinun on erotettava jokainen CLASSPATH puolipisteellä (;).

Kolmannen osapuolen sovellukset (MySQL ja Oracle), jotka käyttävät JVM:ää, voivat muokata CLASSPATH-ympäristömuuttujaa sisältämään käyttämänsä kirjastot. Luokat voidaan tallentaa hakemistoihin tai arkistotiedostoihin. Java-alustan luokat tallennetaan tiedostoon rt.jar.

CLASSPATH voidaan asettaa kahdella tavalla: komentokehotteella tai ympäristömuuttujan avulla.

Katsotaanpa, kuinka MySQL-tietokannan CLASSPATH asetetaan:

Vaihe 1: Napsauta Windows-painiketta ja valitse Ohjauspaneeli. Valitse Järjestelmä.

Kuinka asettaa CLASSPATH Javassa

Vaihe 2: Klikkaa Järjestelmän lisäasetukset .

Kuinka asettaa CLASSPATH Javassa

Vaihe 3: Valintaikkuna avautuu. Napsauta Ympäristömuuttujat.

Kuinka asettaa CLASSPATH Javassa

Vaihe 4: Jos CLASSPATH on jo järjestelmämuuttujissa, napsauta Muokkaa-painiketta ja lisää puolipiste (;) sen loppuun. Liitä MySQL-Connector Java.jar-tiedoston polku.

Jos CLASSPATH ei ole järjestelmämuuttujissa, napsauta Uusi-painiketta ja kirjoita muuttujan nimi muotoon CLASSPATH ja muuttujan arvo muotoon C:Program FilesJavajre1.8MySQL-Connector Java.jar;.;

muuntaminen tupla-javaksi

Muista: Laita ;.; CLASSPATHin lopussa.

Kuinka asettaa CLASSPATH Javassa

Ero PATH:n ja CLASSPATHin välillä

PATH CLASSPATH
PATH on ympäristömuuttuja. CLASSPATH on myös ympäristömuuttuja.
Käyttöjärjestelmä käyttää sitä suoritettavien tiedostojen (.exe) etsimiseen. Application ClassLoader käyttää sitä .class-tiedoston paikallistamiseen.
Sinun on lisättävä hakemisto, joka sisältää .exe-tiedostoja. Sinun on sisällytettävä kaikki hakemistot, jotka sisältävät .class- ja JAR-tiedostoja.
Kun PATH-ympäristömuuttuja on asetettu, sitä ei voi ohittaa. CLASSPATH-ympäristömuuttuja voidaan ohittaa käyttämällä komentorivin valitsinta -cp tai -CLASSPATH sekä javac- että java-komentoihin.

Kuinka asettaa CLASSPATH Windowsissa komentokehotteen avulla

Kirjoita seuraava komento komentokehotteeseen ja paina enter.

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

Yllä olevassa komennossa The set on sisäinen DOS-komento, jonka avulla käyttäjä voi muuttaa muuttujan arvoa. CLASSPATH on muuttujan nimi. Prosenttimerkin (%) sisällä oleva muuttuja on olemassa oleva ympäristömuuttuja. Puolipiste on erotin, ja (;) -merkin jälkeen on rt.jar-tiedoston PATH.

merkkijono char javaan

Miten ext-kansio toimii Javassa

Ext-hakemisto toimii vähän kuin CLASSPATH. ext-hakemisto on osa luokan latausmekanismia. Luokat, jotka ovat saatavilla ulkoisen hakemiston JAR:issa, ovat Java-sovellusten käytettävissä.

Seuraava taulukko osoittaa CLASSPATHin ja laajennusmekanismin välisen keskeisen eron:

Ominaisuudet CLASSPATH Laajennusmekanismi
Luokan latausjärjestys CLASSPATH latautuu bootstrapin ja laajennuksen lataamisen jälkeen. ext lataa bootstrap-latauksen jälkeen, mutta ennen CLASSPATH-latausta.
Laajuus Se on sovelluskohtainen. Kaikki isäntäkoneen JRE:t ovat CLASSPATH-ympäristömuuttujia. Kaikki JVM:t toimivat tietyssä JRE:ssä java.ext.dirs.
Paketin nimi java.class.path käytetään luokkatiedostoja sisältävien hakemistojen ja JAR-arkistojen etsimiseen. java.ext.dirs käytetään määrittämään, missä laajennusmekanismi lataa luokkia.
Erittely Se määritellään nimellä, mukaan lukien laajennus.jar ja hakemisto, joka sisältää .class-tiedostoja. Kaikki määritetyissä hakemistoissa olevat JAR-tiedostot ladataan.

Mekanismi poimii kaikki .jar-tiedostot laajennushakemistosta, vaikka tiedostolla ei olisi .jar-tunnistetta. Tämän toteutus on, että jos voidaan muuttaa luokkapolkuhakemistoon sijoitetun jarin nimi, jolla on jokin muu pääte kuin .jar. Jokerimerkki (*) ei poimi sitä. Tämä tekniikka ei toimi laajennushakemiston kanssa.

Ymmärretään suoritusprosessi esimerkin kautta.

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()); } } 

Kääntää A.java-tiedosto. arkistoimme kootun A.class-tiedoston A.jariin. Sijoita tämä JAR-tiedosto toiseen hakemistoon kuin käännetty B.class-tiedosto.

Havainnollistaaksemme luokkapolun käyttöä asetamme A.jar-tiedoston hakemistoon C:JavaPrograms ja käytämme tätä JAR:ia jokerimerkillä (*) B:tä varten.

Huomasimme, että B voi edelleen ladata A.luokan, vaikka olimme poistaneet sen nykyisestä hakemistosta. Java-käynnistintä etsittiin nimenomaisesti C:JavaProgram. On myös mahdollista ladata luokka ilman sen läsnäoloa samassa hakemistossa ja eksplisiittisessä luokkapolun määrittelyssä.

Sitä kutsutaan usein laajennusmekanismin käytön eduksi, koska kaikki tätä JRE:tä käyttävät sovellukset voivat nähdä samat luokat ilman, että niitä tarvitsee erikseen määrittää luokkapolulla.

Mitä tapahtuu, jos muutamme A.jarin nimen A.backupiksi samassa CLASSPATH-viittaushakemistossa. NoClassDefFoundError kohdataan, kun teemme samoin, koska CLASSPATH-viittauksessa ei ole .jar-tunnistetta.

len of array javassa