Classpath (Română)


furnizarea ca aplicație argumentEdit

Să presupunem că avem un pachet numit org.mypackage conține clase:

  • HelloWorld (clasa principală)
  • SupportClass
  • UtilClass

și fișierele definirea acestui pachet sunt stocate fizic în directorul D:\myprogram (pe Windows) sau /home/user/myprogram (pe Linux).

structura fișierului arată astfel:

când invocăm Java, specificăm numele aplicației de rulat: org.mypackage.HelloWorld., Cu toate acestea, trebuie să spunem Java unde să căutăm fișierele și directoarele care definesc pachetul nostru.,o pentru a lansa programul, vom folosi următoarea comandă:

Microsoft Windows Linux
 java -classpath D:\myprogram org.mypackage.HelloWorld
 java -cp /home/user/myprogram org.mypackage.HelloWorld 

unde:

  • java este Java runtime launcher, un tip de SDK Instrument (Un instrument de linie de comandă, cum ar fi javac, javadoc, sau apt)
  • -classpath D:\myprogram stabilește calea pentru pachetele folosite în program (pe Linux, -cp /home/user/myprogram) și
  • org.,mypackage.HelloWorld este numele clasei principale

Setarea calea printr-un mediu de variableEdit

variabila De mediu numit CLASSPATH poate fi folosit alternativ pentru set classpath. Pentru exemplul de mai sus, am putea folosi, de asemenea, pe Windows:

set CLASSPATH=D:\myprogramjava org.mypackage.HelloWorld

regula este că -classpath opțiune, atunci când este utilizat pentru a porni aplicații java, suprascrie CLASSPATH variabila de mediu. Dacă nu sunt specificate, directorul de lucru curent este utilizat ca classpath., Acest lucru înseamnă că, atunci când directorul nostru de lucru este D:\myprogram\ (pe Linux, /home/user/myprogram/), noi nu ar trebui să specificați calea de clase în mod explicit. Cu toate acestea, atunci când se suprascrie, se recomandă includerea folderului curent "." în calea de clasă în cazul în care se dorește încărcarea claselor din folderul curent.același lucru este valabil nu numai pentru java launcher, ci și pentru javac, compilatorul java.

setarea căii unui fișier Jaredit

dacă un program utilizează o bibliotecă de sprijin închisă într-un fișier Jar numit supportLib.,borcan, se află fizic în directorul D:\myprogram\lib\ și fizic corespunzător structura de fișiere este:

D:\myprogram\ | ---> lib\ | ---> supportLib.jar | ---> org\ | --> mypackage\ | ---> HelloWorld.class ---> SupportClass.class ---> UtilClass.class

următoarele opțiunea de linie de comandă este necesar:

java -classpath D:\myprogram;D:\myprogram\lib\supportLib.jar org.mypackage.HelloWorld

sau, alternativ:

set CLASSPATH=D:\myprogram;D:\myprogram\lib\supportLib.jarjava org.mypackage.HelloWorld

Adăugarea tuturor fișierelor JAR într-un directoryEdit

În Java 6 și mai mare, se poate adauga toate jar-fișiere într-un anumit director la clase folosind wildcard notație.,

Windows exemplu:

java -classpath ".;c:\mylib\*" MyApp

Linux exemplu:

java -classpath '.:/mylib/*' MyApp

Acesta funcționează atât pentru -classpath opțiuni și mediu căi.

setarea căii într-un fișier manifestedit

dacă un program a fost închis într-un fișier Jar numit helloWorld.borcan, situat direct în directorul D:\myprogram, structura de directoare este după cum urmează:

D:\myprogram\ | ---> helloWorld.jar | ---> lib\ | ---> supportLib.jar

fișierul manifest definite în helloWorld.,jar are această definiție:

Main-Class: org.mypackage.HelloWorldClass-Path: lib/supportLib.jar

fișierul manifest ar trebui să se încheie fie cu o linie nouă, fie cu returnarea transportului.programul este lansat cu următoarea comandă:

java -jar D:\myprogram\helloWorld.jar 

aceasta pornește automat org.mypackage.HelloWorld specificat în clasa principală de clasă cu argumentele. Utilizatorul nu poate înlocui acest nume de clasă folosind invocarea java-jar. Class-Path descrie locația supportLib.jar în raport cu locația bibliotecii helloWorld.borcan., Nici calea absolută a fișierului, care este permisă în parametrul -classpath pe linia de comandă, nici căile interne jar nu sunt acceptate. Aceasta înseamnă că, dacă fișierul principal de clasă este conținut într-un borcan, org/mypackage/HelloWorld.clasa trebuie să fie o cale validă pe rădăcină în borcan.

intrările multiple classpath sunt separate cu spații:

Class-Path: lib/supportLib.jar lib/supportLib2.jar

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *