Ricerca nel sito web

Come creare ed eseguire un file .Jar nel terminale Linux


Un JAR (Java ARchive) è un formato di file indipendente dalla piattaforma utilizzato per aggregare molti file di classi Java e metadati e risorse associati come testo, immagini, ecc. in un unico file per la distribuzione.

Consente ai runtime Java di distribuire in modo efficiente un'intera applicazione in un file di archivio e offre molti vantaggi come la sicurezza, i suoi elementi possono essere compressi, abbreviando i tempi di download, consente la sigillatura dei pacchetti e il controllo delle versioni, supporta la portabilità. Supporta anche il packaging per le estensioni.

In questo articolo mostreremo come creare una semplice applicazione Java e raggrupparla in un file JAR e dimostreremo come eseguire un file .jar dal terminale Linux.

Per fare ciò, è necessario che sia installato lo strumento a riga di comando Java per avviare un'applicazione Java e il flag -jar per eseguire un programma incapsulato in un file JAR. Quando viene utilizzato questo flag, il file JAR specificato è l'origine di tutte le classi utente e le altre impostazioni del percorso classe vengono ignorate.

Come creare un file JAR in Linux

1. Per prima cosa inizia scrivendo una semplice classe Java con un metodo principale per un'applicazione chiamata TecmintApp, a scopo dimostrativo.

vim TecmintApp.java

Copia e incolla il seguente codice nel file TecmintApp.java.

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

Salva il file e chiudilo.

2. Successivamente, dobbiamo compilare e comprimere la classe in un file JAR utilizzando le utilità javac e jar come mostrato.

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

3. Una volta creato tecmintapp.jar, ora puoi eseguire il file utilizzando il comando java come mostrato.

java -jar tecmintapp.jar

no main manifest attribute, in tecmintapp.jar

Dall'output del comando precedente, abbiamo riscontrato un errore. La JVM (Java Virtual Machine) non è riuscita a trovare il nostro attributo manifest principale, quindi non è riuscita a individuare la classe principale contenente il metodo principale ( public static void main (String[] args)).

Il file JAR dovrebbe avere un manifest che contiene una riga nella forma Main-Class:classname che definisce la classe con il metodo main che funge da punto di partenza della nostra applicazione.

4. Per correggere l'errore riportato sopra, dovremo aggiornare il file JAR per includere un attributo manifest insieme al nostro codice. Creiamo un file MANIFEST.MF.

vim MANIFEST.MF

Copia e incolla la seguente riga nel file MANIFEST.MF.

Main-Class:  TecmintApp

Salva il file e aggiungiamo il file MANIFEST.MF al nostro tecmintapp.jar utilizzando il seguente comando.

jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class

5. Infine, quando abbiamo eseguito nuovamente il file JAR, dovrebbe produrre il risultato atteso, come mostrato nell'output.

java -jar tecmintapp.jar

Just executed TecmintApp!

Per ulteriori informazioni, consultare le pagine man dei comandi java, javac e jar.

man java
man javac
man jar

È tutto! In questo breve articolo abbiamo spiegato come creare una semplice applicazione Java e raggrupparla in un file JAR e dimostrato come eseguire un file .jar dal terminale. Se hai domande o idee supplementari da condividere, utilizza il modulo di feedback qui sotto.