Cum să creați și să executați un fișier .Jar în terminalul Linux


Un JAR (Java ARchive) este un format de fișier independent de platformă utilizat pentru a agrega multe fișiere de clasă Java și metadate și resurse asociate, cum ar fi text, imagini etc., într-un singur fișier pentru distribuire.

Permite runtimelor Java să implementeze eficient o întreagă aplicație într-un singur fișier de arhivă și oferă multe beneficii, cum ar fi securitatea, elementele sale pot fi comprimate, scurtarea timpilor de descărcare, permite sigilarea și versiunea pachetelor, suportă portabilitatea. De asemenea, acceptă ambalarea extensiilor.

În acest articol, vom arăta cum să creați o aplicație Java simplă și să o grupați într-un fișier JAR și să demonstrăm cum să executați un fișier .jar de pe terminalul Linux.

Pentru a face acest lucru, trebuie să aveți instalat instrumentul de linie de comandă java pentru a lansa o aplicație Java și marcatorul -jar pentru a executa un program încapsulat într-un fișier JAR. Când este utilizat acest indicator, fișierul JAR specificat este sursa tuturor claselor de utilizatori, iar alte setări ale căii de clasă sunt ignorate.

Cum se creează un fișier JAR în Linux

1. Începeți mai întâi prin a scrie o clasă Java simplă cu o metodă principală pentru o aplicație numită TecmintApp, în scop demonstrativ.

vim TecmintApp.java

Copiați și inserați următorul cod în fișierul TecmintApp.java.

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

Salvați fișierul și închideți-l.

2. În continuare, trebuie să compilam și să împachetăm clasa într-un fișier JAR folosind utilitatile javac și jar așa cum se arată.

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

3. Odată creat tecmintapp.jar, acum puteți executa fișierul folosind comanda java, așa cum se arată.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

Din rezultatul comenzii de mai sus, am întâlnit o eroare. JVM (Mașina virtuală Java) nu a putut găsi atributul nostru manifest principal, prin urmare nu a putut găsi clasa principală care conține metoda principală ( public static void main (String[] args)).

Fișierul JAR ar trebui să aibă un manifest care conține o linie sub forma Main-Class:classname care definește clasa cu metoda principală care servește drept punct de plecare al aplicației noastre.

4. Pentru a remedia eroarea de mai sus, va trebui să actualizăm fișierul JAR pentru a include un atribut manifest împreună cu codul nostru. Să creăm un fișier MANIFEST.MF.

vim MANIFEST.MF

Copiați și inserați următoarea linie în fișierul MANIFEST.MF.

Main-Class:  TecmintApp

Salvați fișierul și să adăugăm fișierul MANIFEST.MF în tecmintapp.jar folosind următoarea comandă.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. În cele din urmă, când am executat din nou fișierul JAR, ar trebui să producă rezultatul așteptat, așa cum se arată în rezultat.

java -jar tecmintapp.jar

Just executed TecmintApp!

Pentru mai multe informații, consultați paginile de manual pentru comenzi java, javac și jar.

man java
man javac
man jar

Asta e tot! În acest scurt articol, am explicat cum să creați o aplicație Java simplă și să o grupați într-un fișier JAR și am demonstrat cum să executați un fișier .jar de pe terminal. Dacă aveți întrebări sau idei suplimentare de împărtășit, utilizați formularul de feedback de mai jos.