Útmutató Jar fájl létrehozásához és futtatásához Java-ban

1. Áttekintés

Általában kényelmes, ha sok Java osztályú fájlt egyetlen archív fájlba csomagol.

Ebben az oktatóanyagban bemutatjuk a korsóval végzett munka csínját-bínját - ill Java ARsnidling - fájlok Java-ban.

Pontosabban, egy egyszerű alkalmazást veszünk igénybe, és feltárjuk a csomagolás és a befőttes üvegként történő futtatásának különböző módjait. Válaszolunk néhány érdekességre is hogyan lehet könnyen elolvasni egy korsó manifeszt fájlját az út mentén.

2. Java program beállítása

Mielőtt futtatható jar fájlt készíthetnénk, alkalmazásunknak rendelkeznie kell egy osztályral a-val fő- módszer. Ez az osztály adja meg belépési pontunkat az alkalmazásba:

public static void main (String [] args) {System.out.println ("Hello Baeldung Reader!"); }

3. Jar parancsnokság

Most, hogy mindannyian felkészültünk, állítsuk össze a kódunkat és hozzuk létre a jar fájlt.

Ezt megtehetjük javac a parancssorból:

javac com / baeldung / jar / *. java

A javac parancs létrehoz JarExample.class ban,-ben com / baeldung / jar Könyvtár. Ezt most egy jar fájlba csomagolhatjuk.

3.1. Az Alapértelmezések használata

A jar fájl létrehozásához a befőttes üveg parancs.

A befőttes üveg parancsot egy jar fájl létrehozásához, a c opció jelzi, hogy létrehozunk egy fájlt és a f opció a fájl megadásához:

jar cf JarExample.jar com / baeldung / jar / *. class

3.2. A főosztály beállítása

Hasznos, ha a jar fájljegyzék tartalmazza a fő osztályt.

A jegyzék egy speciális fájl egy edényben, amely a META-INF könyvtárat és megnevezték MANIFEST.MF. A jegyzékfájl speciális metainformációkat tartalmaz a jar fájlban található fájlokról.

Néhány példa arra, hogy mire használhatunk egy jegyzékfájlt, a belépési pont beállítása, a verzióinformációk beállítása és az osztályút konfigurálása.

A e opcióval megadhatjuk a belépési pontunkat és a befőttes üveg parancs hozzáadja a létrehozott jegyzékfájlhoz.

Fussunk befőttes üveg megadott belépési ponttal:

jar cfe JarExample.jar com.baeldung.jar.JarExample com / baeldung / jar / *. osztály

3.3. A tartalom frissítése

Tegyük fel, hogy változtattunk az egyik osztályunkon, és újra összeállítottuk. Most frissítenünk kell a jar fájlunkat.

Használjuk a befőttes üveg parancsot a u lehetőség a tartalom frissítésére:

jar uf JarExample.jar com / baeldung / jar / JarExample.class

3.4. Manifest File beállítása

Bizonyos esetekben szükség lehet arra, hogy jobban ellenőrizzük, mi kerül a jegyzékfájlunkba. A befőttes üveg a parancs funkciókat biztosít a saját nyilvántartási információink biztosításához.

Adjunk hozzá egy részleges jegyzékfájlt example_manifest.txt alkalmazásunkhoz a belépési pont megadásához:

Főosztály: com.baeldung.jar.JarExample

Az általunk megadott nyilvántartási információkat hozzáadjuk a jar parancs által generált adatokhoz, így ez az egyetlen sor, amelyre szükségünk van a fájlban.

Fontos, hogy a manifeszt fájlunkat a-val fejezzük beúj sor. Az új sor nélkül a jegyzékfájlunkat csendben figyelmen kívül hagyjuk.

Ezzel a beállítással hozzuk létre újra az edényünket a nyilvántartási információink és a m választási lehetőség:

jar cfm JarExample.jar com / baeldung / jar / example_manifest.txt com / baeldung / jar / *. osztály

3.5. Verbose Output

Ha több információt akarunk a befőttes üveg parancsot, egyszerűen hozzáadhatjuk a v opció bőbeszédű.

Futtassuk a mi befőttes üveg parancsot a v választási lehetőség:

jar cvfm JarExample.jar com / baeldung / jar / example_manifest.txt com / baeldung / jar / *. osztály hozzáadott jegyzék hozzáadása: com / baeldung / jar / JarExample.class (in = 453) (out = 312) (leeresztve 31% )

4. Maven használata

4.1. Alapértelmezett konfiguráció

Használhatjuk a Maven-t is az edényünk elkészítéséhez. Mivel Maven a konvenció mellett részesíti előnyben a konfigurációt, egyszerűen futtathatjuk a csomagot a jar fájlunk létrehozásához.

mvn csomag

Alapértelmezés szerint a jar fájlunk hozzá lesz adva a cél mappát a projektünkben.

4.2. A főosztály megjelölése

Konfigurálhatjuk a Mavent is a fő osztály megadásához és egy futtatható jar fájl létrehozásához.

 org.apache.maven.plugins maven-jar-plugin $ {maven-jar-plugin.version} com.baeldung.jar.JarExample 

5. A Spring Boot használata

5.1. A Maven és az Alapértelmezések használata

Ha a Spring Boot-ot a Maven használatával használjuk, akkor először meg kell erősítenünk, hogy a csomagolási beállításunk értéke befőttes üveg inkább mint háború miénkben pom.xml fájl.

4.0.0 rugós bakancs jar rugós bakancs

Miután tudjuk, hogy konfigurálva van, futtathatjuk a csomag cél:

mvn csomag

5.2. A belépési pont beállítása

A fő osztály beállítása az, ahol különbségeket találunk egy rendes Java alkalmazással ellátott jar és egy Spring Boot alkalmazás zsírtartalmának létrehozása között. A Spring Boot alkalmazásban a fő osztály valójában org.springframework.boot.loader.JarLauncher.

Noha a példánk nem Spring Boot alkalmazás, könnyen beállíthatjuk Spring Boot konzol alkalmazásnak.

Fő osztályunkat start osztályként kell megadni:

 com.baeldung.jar.JarExample 

A Gradle segítségével létrehozhatunk egy Spring Boot zsírzsákot is.

6. A korsó futtatása

Most, hogy megvan a jar fájlunk, futtathatjuk. A jar fájlokat a Jáva parancs.

6.1. A főosztály következtetése

Mivel haladtunk előre és megbizonyosodtunk arról, hogy fő osztályunk meg van adva a jegyzékben, használhatjuk a -befőttes üveg a Jáva parancs az alkalmazásunk futtatásához a fő osztály megadása nélkül:

java -jar JarExample.jar

6.2. A főosztály meghatározása

Az alkalmazás futtatásakor megadhatjuk a fő osztályt is. Használhatjuk a -cp opciót annak biztosítására, hogy a jar fájlunk az osztályútvonalon legyen, majd adja meg fő osztályunkat a package.className formátum:

java -cp JarExample.jar com.baeldung.jar.JarExample

Az útválasztók használata csomagformátum helyett szintén működik:

java -cp JarExample.jar com / baeldung / jar / JarExample

6.3. Egy korsó tartalmának felsorolása

Használhatjuk a befőttes üveg parancs a jar fájlunk tartalmának felsorolásához:

jar tf JarExample.jar META-INF / META-INF / MANIFEST.MF com / baeldung / jar / JarExample.class

6.4. A manifeszt fájl megtekintése

Mivel fontos lehet tudni, mi van bennünk MANIFEST.MF fájlt, nézzünk meg egy gyors és egyszerű módszert, amellyel bekukucskálhatunk a tartalomra a parancssor elhagyása nélkül.

Használjuk a csomagold ki parancs a -p opcióval:

unzip -p JarExample.jar META-INF / MANIFEST.MF Manifest-Version: 1.0 Created-By: 1.8.0_31 (Oracle Corporation) Főosztály: com.baeldung.jar.JarExample

7. Következtetés

Ebben az oktatóanyagban egy egyszerű Java alkalmazást állítottunk fel a fő- osztály.

Ezután a jar fájlok létrehozásának három módját vizsgáltuk: a befőttes üveg parancsot, Maven-nel és Maven Spring Boot alkalmazással.

Miután elkészítettük a jar fájljainkat, visszatértünk a parancssorba, és következtetett és meghatározott fő osztállyal futtattuk őket.

Megtanultuk azt is, hogyan jelenítsen meg egy fájl tartalmát, és hogyan jelenítsen meg egyetlen fájl tartalmát egy üvegben.

A sima Java és a Spring Boot példa is elérhető a GitHubon.