A fő manifeszt attribútum fontossága egy önállóan végrehajtó JAR-ban

1. Áttekintés

Minden futtatható Java osztálynak tartalmaznia kell a fő- módszer. Egyszerűen fogalmazva, ez a módszer egy alkalmazás kiindulópontja.

Ahhoz, hogy a fő módszerünket önállóan végrehajtó JAR fájlból futtassuk, létre kell hoznunk egy megfelelő jegyzékfájlt, és csomagolnunk kell a kóddal együtt. Ennek a manifesztfájlnak rendelkeznie kell egy fő manifeszt attribútummal, amely meghatározza a fő módszerünket tartalmazó osztály elérési útját.

Ebben az oktatóanyagban megmutatjuk, hogyan kell csomagoljon egy egyszerű Java-osztályt önállóan végrehajtó JAR-ként, és mutassa be a fő manifeszt attribútum fontosságát a sikeres kivitelezéshez.

2. JAR végrehajtása a fő manifeszt attribútum nélkül

A gyakorlatiasabbá tétel érdekében bemutatunk egy példát a sikertelen végrehajtásra a megfelelő manifest attribútum nélkül.

Írjunk egy egyszerű Java osztályt egy fő módszerrel:

public class AppExample {public static void main (String [] args) {System.out.println ("AppExample végrehajtva!"); }} 

A példaosztályunk JAR archívumba csomagolásához el kell mennünk az operációs rendszerünk héjához és össze kell állítanunk:

javac -d. AppExample.java 

Ezután bepakolhatjuk egy JAR-ba:

jar cvf example.jar com / baeldung / manifest / AppExample.class 

A mi példa.jar tartalmazni fog egy alapértelmezett jegyzékfájlt. Most megpróbálhatjuk végrehajtani a JAR-ot:

java -jar példa.jar 

A végrehajtás hibával fog meghiúsulni:

nincs fő manifeszt attribútum, például.jar 

3. JAR végrehajtása a fő manifeszt attribútummal

Amint láttuk, a JVM nem találta a fő manifeszt attribútumunkat. Emiatt nem találta a fő osztályunkat, amely tartalmazza a fő módszerünket.

Vegyünk egy megfelelő manifeszt attribútumot a JAR-ba a kódunkkal együtt. Létre kell hoznunk a MANIFEST.MF egyetlen sort tartalmazó fájl:

Főosztály: com.baeldung.manifest.AppExample 

Nyilvántartásunk most tartalmazza az összeállított osztályútvonalát AppExample.class.

Mivel már összeállítottuk a példaosztályunkat, nem kell újra megtenni.

Csak összegyűjtjük a jegyzékfájlunkkal:

jar cvmf MANIFEST.MF example.jar com / baeldung / manifest / AppExample.class 

A JAR ezúttal a várakozásoknak megfelelően hajt végre, és kimenetelként működik:

AppExample végrehajtva!

4. Következtetés

Ebben a gyors cikkben bemutattuk, hogyan kell egy egyszerű Java osztályt csomagolni önállóan végrehajtó JAR-ként, és két egyszerű példán bemutattuk a fő manifeszt attribútum fontosságát.

A példa teljes forráskódja elérhető a GitHub oldalon. Ez egy Maven-alapú projekt, így importálható és használható.


$config[zx-auto] not found$config[zx-overlay] not found