Hvordan lage og kjøre en .Jar-fil i Linux-terminalen


En JAR (Java ARchive) er plattformuavhengig filformat som brukes til å samle mange Java-klassefiler og tilhørende metadata og ressurser som tekst, bilder osv. til én enkelt fil for distribusjon.

Det lar Java-kjøretider effektivt distribuere en hel applikasjon i én arkivfil, og gir mange fordeler som sikkerhet, elementene kan komprimeres, forkorte nedlastingstiden, tillater pakkeforsegling og versjonering, støtter portabilitet. Den støtter også emballasje for utvidelser.

I denne artikkelen vil vi vise hvordan du lager en enkel Java-applikasjon og pakker den inn i en JAR-fil, og viser hvordan du kjører en .jar-fil fra Linux-terminalen.

For å gjøre dette må du ha java kommandolinjeverktøy installert for å starte en Java-applikasjon, og -jar-flagget for å kjøre et program innkapslet i en JAR-fil. Når dette flagget brukes, er den angitte JAR-filen kilden til alle brukerklasser, og andre klassebaneinnstillinger ignoreres.

Hvordan lage en JAR-fil i Linux

1. Start først med å skrive en enkel Java-klasse med en hovedmetode for en applikasjon kalt TecmintApp, for demonstrasjonsformål.

vim TecmintApp.java

Kopier og lim inn følgende kode i TecmintApp.java-filen.

public class TecmintApp {
	public static void main(String[] args){
		System.out.println(" Just executed TecmintApp! ");
	}
}

Lagre filen og lukk den.

2. Deretter må vi kompilere og pakke klassen inn i en JAR-fil ved hjelp av verktøyene javac og jar som vist.

javac -d . TecmintApp.java
ls
jar cvf tecmintapp.jar TecmintApp.class
ls

3. Når tecmintapp.jar er opprettet, kan du nå ekskludere filen ved å bruke java-kommandoen som vist.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

Fra utgangen av kommandoen ovenfor, oppdaget vi en feil. JVM (Java Virtual Machine) fant ikke hovedmanifestattributtet vårt, og kunne derfor ikke finne hovedklassen som inneholder hovedmetoden ( public static void main (String[] args)).

JAR-filen skal ha et manifest som inneholder en linje i formen Main-Class:classname som definerer klassen med hovedmetoden som fungerer som applikasjonens startpunkt.

4. For å fikse feilen ovenfor, må vi oppdatere JAR-filen til å inkludere et manifestattributt sammen med koden vår. La oss lage en MANIFEST.MF-fil.

vim MANIFEST.MF

Kopier og lim inn følgende linje i MANIFEST.MF-filen.

Main-Class:  TecmintApp

Lagre filen og la oss legge til filen MANIFEST.MF til vår tecmintapp.jar ved å bruke følgende kommando.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. Til slutt, når vi kjørte JAR-filen igjen, skulle den gi det forventede resultatet som vist i utdataene.

java -jar tecmintapp.jar

Just executed TecmintApp!

For mer informasjon, se kommandosidene java, javac og jar.

man java
man javac
man jar

Det er alt! I denne korte artikkelen har vi forklart hvordan du lager en enkel Java-applikasjon og pakker den inn i en JAR-fil, og demonstrerer hvordan du kjører en .jar-fil fra terminalen. Hvis du har spørsmål eller utfyllende ideer å dele, bruk tilbakemeldingsskjemaet nedenfor.