homerisorseGuideMac OSBundle java apps

english

Impacchettare applicazioni Java in un .app
Spesso le applicazioni multipiattaforma basate su java (come Eclipse) vengono fornite in una cartella che contiene anche l’app, che è solo un piccolo lanciatore per l’applicazione vera e propria.
È possibile (e molto semplice) racchiudere tutta la cartella in una singola *.app, vediamo come…

Per questo esempio utilizzeremo proprio Eclipse.

Scaricare l’applicazione

Scaricare l’applicazione con un semplice click.
Non serve preoccuparsi di salvare il .tgz, lasciamolo scompattare anche a Safari o facciamolo noi con un doppio click.
Se partiamo dal .tgz e ci rimane un .tar doppioclicchiamo ancora, e scompattiamo anche quello.

Scaricare l’applicazione

Teniamo la cartella, buttiamo il resto

Una volta scompattata ci rimarrà la cartella di Eclipse, il resto (il .tgz ed il .tar) possiamo anche buttarlo.

Teniamo la cartella, buttiamo il resto

Creare una copia dell’app

Mettere la cartella di Eclipse in una cartella temporanea, copiare l’applicazione “Eclipse.app” che contiene allo stesso livello della cartella.
L’applicazione -essendo solo un launcher- è molto piccola, nel nostro caso circa 90KB.
Sulla copia click destro, e andare a vedere il contenuto del Package.

Creare una copia dell’app

Spostare la cartella nei Package contents

Spostare la cartella originale di Eclipse nella cartella “Contents”.

Aprire un Terminale, digitare “cd ” (con lo spazio finale), poi trascinare sul Terminale la directory “MacOS”.
Poi diamo di nuovo il fuoco alla finestra del Terminale (click sulla barra del titolo) e diamo invio.
In questo modo stiamo facendo “cd” sulla specifica directory “MacOS”.

Spostare la cartella nei Package contents

La magia...

Visto che ad alto livello (nel Finder) non si riesce ad ingannare la struttura per incapsularla nell’applicazione, lo faremo a basso livello.
A basso livello il Mac lancia l’eseguibile “Contents/MacOS/eclipse”, e noi andiamo a sostituirlo, con i comandi:
$ rm eclipse
$ ln -s ../eclipse/Eclipse.app/Contents/MacOS/eclipse

La magia...

Finito!

Chiudiamo il package, e l’applicazione rimasta contiene tutto Eclipse e le sue cartelle.
Possiamo spostarla nelle Applicazioni del Mac o dove preferiamo, e lanciarla tranquillamente.

Possiamo anche zipparla o metterla in un file .dmg compresso, pronta per il download.




Pagina creata il 20 Aprile 2011