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.