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