Zoeken op website

Een .Jar-bestand maken en uitvoeren in Linux Terminal


Een JAR (Java ARchive) is een platformonafhankelijke bestandsindeling die wordt gebruikt om veel Java-klassebestanden en bijbehorende metagegevens en bronnen, zoals tekst, afbeeldingen, enz., samen te voegen tot één enkel bestand voor distributie.

Het maakt het voor Java-runtimes mogelijk om efficiënt een hele applicatie in één archiefbestand te implementeren, en biedt vele voordelen, zoals beveiliging, de elementen kunnen worden gecomprimeerd, het verkorten van downloadtijden, maakt pakketverzegeling en versiebeheer mogelijk en ondersteunt draagbaarheid. Het ondersteunt ook verpakkingen voor extensies.

In dit artikel laten we zien hoe u een eenvoudige Java-toepassing kunt maken en deze kunt bundelen in een JAR-bestand, en hoe u een .jar-bestand kunt uitvoeren vanaf de Linux-terminal.

Om dit te doen, moet u het Java-opdrachtregelprogramma hebben geïnstalleerd om een Java-toepassing te starten, en de vlag -jar om een programma uit te voeren dat is ingekapseld in een JAR-bestand. Wanneer deze vlag wordt gebruikt, is het opgegeven JAR-bestand de bron van alle gebruikersklassen en worden andere klassenpadinstellingen genegeerd.

Hoe u een JAR-bestand maakt in Linux

1. Begin eerst met het schrijven van een eenvoudige Java-klasse met een hoofdmethode voor een applicatie genaamd TecmintApp, voor demonstratiedoeleinden.

vim TecmintApp.java

Kopieer en plak de volgende code in het bestand TecmintApp.java.

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

Sla het bestand op en sluit het.

2. Vervolgens moeten we de klasse compileren en verpakken in een JAR-bestand met behulp van de hulpprogramma's javac en jar zoals getoond.

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

3. Nadat tecmintapp.jar is gemaakt, kunt u het bestand uitvoeren met de java-opdracht, zoals weergegeven.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

Uit de uitvoer van de bovenstaande opdracht zijn we een fout tegengekomen. De JVM (Java Virtual Machine) kon ons belangrijkste manifest-attribuut niet vinden, en kon dus de hoofdklasse die de hoofdmethode bevat niet vinden ( public static void main (String[] args)).

Het JAR-bestand moet een manifest hebben dat een regel bevat in de vorm Main-Class:classname die de klasse definieert met de hoofdmethode die als uitgangspunt voor onze applicatie dient.

4. Om de bovenstaande fout op te lossen, moeten we het JAR-bestand bijwerken zodat het een manifest-attribuut samen met onze code bevat. Laten we een MANIFEST.MF-bestand maken.

vim MANIFEST.MF

Kopieer en plak de volgende regel in het MANIFEST.MF bestand.

Main-Class:  TecmintApp

Sla het bestand op en laten we het bestand MANIFEST.MF toevoegen aan onze tecmintapp.jar met behulp van de volgende opdracht.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. Als we ten slotte het JAR-bestand opnieuw uitvoeren, zou dit het verwachte resultaat moeten opleveren, zoals weergegeven in de uitvoer.

java -jar tecmintapp.jar

Just executed TecmintApp!

Voor meer informatie, zie de manpagina's voor java, javac en jar.

man java
man javac
man jar

Dat is alles! In dit korte artikel hebben we uitgelegd hoe u een eenvoudige Java-applicatie kunt maken en deze in een JAR-bestand kunt bundelen, en hebben we gedemonstreerd hoe u een .jar-bestand vanaf de terminal kunt uitvoeren. Als u vragen of aanvullende ideeën heeft, kunt u het onderstaande feedbackformulier gebruiken.