Sådan oprettes og udføres en .Jar-fil i Linux Terminal
En JAR (Java ARchive) er platformuafhængigt filformat, der bruges til at samle mange Java-klassefiler og tilknyttede metadata og ressourcer såsom tekst, billeder osv. Til en enkelt fil til distribution.
Det giver Java-driftstimer mulighed for effektivt at implementere en hel applikation i en arkivfil og giver mange fordele såsom sikkerhed, dens elementer kan komprimeres, forkorter downloadtider, giver mulighed for pakningstætning og versionering, understøtter bærbarhed. Det understøtter også emballage til udvidelser.
I denne artikel vil vi vise, hvordan man opretter en simpel Java-applikation og bundter den i en JAR-fil og demonstrerer, hvordan man udfører en .jar
-fil fra Linux-terminalen.
For at gøre dette skal du have java kommandolinjeværktøj installeret for at starte en Java-applikation og flag -jar
for at udføre et program indkapslet i en JAR-fil. Når dette flag bruges, er den angivne JAR-fil kilden til alle brugerklasser, og andre klassestiindstillinger ignoreres.
Sådan oprettes en JAR-fil i Linux
1. Start først med at skrive en simpel Java-klasse med en hovedmetode til et program kaldet TecmintApp til demonstrationsformål.
$ vim TecmintApp.java
Kopier og indsæt følgende kode i filen TecmintApp.java.
public class TecmintApp { public static void main(String[] args){ System.out.println(" Just executed TecmintApp! "); } }
Gem filen, og luk den.
2. Dernæst skal vi kompilere og pakke klassen i en JAR-fil ved hjælp af javac- og jar-hjælpeprogrammerne som vist.
$ javac -d . TecmintApp.java $ ls $ jar cvf tecmintapp.jar TecmintApp.class $ ls
3. Når tecmintapp.jar er oprettet, kan du nu ekskludere filen ved hjælp af java-kommandoen som vist.
$ java -jar tecmintapp.jar no main manifest attribute, in tecmintapp.jar
Fra output fra ovenstående kommando stødte vi på en fejl. JVM (Java Virtual Machine) kunne ikke finde vores vigtigste manifestattribut, og den kunne derfor ikke finde hovedklassen, der indeholder hovedmetoden (public static void main (String [] args)).
JAR-filen skal have et manifest, der indeholder en linje i formen Main-Class: classname, der definerer klassen med den hovedmetode, der fungerer som vores applikations udgangspunkt.
4. For at rette ovenstående fejl skal vi opdatere JAR-filen, så den inkluderer en manifestattribut sammen med vores kode. Lad os oprette en MANIFEST.MF-fil.
$ vim MANIFEST.MF
Kopier og indsæt følgende linje til MANIFEST.MF-filen.
Main-Class: TecmintApp
Gem filen, og lad os tilføje filen MANIFEST.MF til vores tecmintapp.jar ved hjælp af følgende kommando.
$ jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class
5. Endelig, når vi udførte JAR-filen igen, skulle den producere det forventede resultat som vist i output.
$ java -jar tecmintapp.jar Just executed TecmintApp!
For mere information, se kommandosiderne java, javac og jar.
$ man java $ man javac $ man jar
Reference: Emballeringsprogrammer i JAR-filer.
Det er alt! I denne korte artikel har vi forklaret, hvordan man opretter en simpel Java-applikation og bundter den i en JAR-fil og demonstreret, hvordan man udfører en .jar-fil fra terminalen. Hvis du har spørgsmål eller supplerende ideer til at dele, skal du bruge feedbackformularen nedenfor.