Creare un file eseguibile .exe per le applicazioni Java con Launch4j

Creare un file eseguibile .exe per le applicazioni Java con Launch4j

In questo articolo vedremo come poter creare un file .exe (un eseguibile in ambiente Windows) che permetta il lancio di una applicazione Java semplicemente facendo un doppio click su di esso, come avviene per qualsiasi applicazione Windows nativa.

Leggere un file XML in Java con la libreria JDOM
TagSoup: un parser HTML per Java
Sviluppare un’applicazione web Ajax con Java ed Ext JS

In questo articolo vedremo come poter creare un file .exe (un eseguibile in ambiente Windows) che permetta il lancio di una applicazione Java semplicemente facendo un doppio click su di esso, come avviene per qualsiasi applicazione Windows nativa. Possiamo raggiungere questo scopo utilizzando un applicazione cross-platform (è disponibile oltre che per Windows anche per Linux, MacOs e Solaris) che si chiama Launch4j.

Launch4j è un progetto Open Source ospitato sul sito SourceForge http://sourceforge.net/projects/launch4j/.

Tipicamente una applicazione Java consiste di una serie di file .class raggruppati per essere distribuiti, in un archivio .jar corredato da un file Manifest che descrive la Main-Class dell’archivio (cioè dove si trova il metodo main della nostra applicazione) ed eventualmente indica se bisogna includere altri file .jar nel classpath (utilizzando la direttiva classpath).

Un esempio di  file Manifest è il seguente:

Manifest-Version: 1.0
Main-Class: it.appuntisoftware.testMain
Class-Path: appuntisoftware.jar

definito un opportuno Manifest per la nostra applicazione ed incluso nella cartella META-INF, possiamo eseguire l’applicazione con il seguente comando:

java -jar applicazionediesempio.jar

dunque bisogna aprire una console in Windows (Start -> Esegui -> cmd ) e digitare il comando sopra riportato, operazione non sempre banale per un utente medio di Windows.

Vogliamo invece ottenere un file exe per poter eseguire senza aprire una console MSDOS una applicazione Java, come se fosse una applicazione nativa Windows.

Infatti non sempre il doppio click sul file .jar riesce a far eseguire l’applicazione in quanto il comando di default associato all’azione di doppio click prevede il solo passaggio del nome del  file .jar al comando javaw.exe, di conseguenza senza il parametro -jar viene visualizzato un errore Java del tipo:

java.lang.NoClassDefFoundError: nomeapplicativo/jar

In nostro aiuto viene Launch4j che permette la creazione di file .exe compatibili con Windows i quali possono includere totalmente il file .jar della nostra applicazione oppure possiamo scegliere di mantenere indipendente il file .jar.

Elenchiamo alcune delle caratteristiche offerte da Launch4j:

  • possibilità di richiedere una particolare JRE (ad esempio una versione specifica) per l’esecuzione del nostro applicativo;
  • se una JRE non viene rilevata nel sistema dell’utente può essere indicato l’URL dal qual scaricare la JRE, aprendo una scheda del browser in automatico;
  • possibilità di includere una JRE nella distribuzione del nostro applicativo;
  • possibilità di visualizzare un’icona per il notro .exe;
  • possibilità di visualizzare uno Splash screen prima del lancio dell’applicazione e di settarne la durata;
  • possibilità di settare delle variabili di ambiente o di modificare i parametri con cui viene lanciata la JVM (ad esempio l’heap size);
  • customizzazione dei messaggi di errore.
Le possibili configurazioni offerte da Launch4j

Entriamo ora nei dettagli dell’applicativo, per far ciò bisogna dapprima scaricare ed installare il software Launch4j che possiamo trovare sul sito SourceForge:

http://sourceforge.net/projects/launch4j/files/

l’ultima versione è la 3.0.2 la quale è oggetto di questa prova.

Scaricata la corretta versione per il nostro S.O., lanciamo l’applicativo e dopo lo splash screen ci viene presentata la seguente schermata:

PAGES

1 2

COMMENTS

WORDPRESS: 0