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ó.