Outils pour utilisateurs

Outils du site


appbundler-jar-native-macos

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
appbundler-jar-native-macos [2017/08/07 04:35]
Grand Dub
appbundler-jar-native-macos [2017/08/07 23:56] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Créer une application native macOS depuis un jar ====== ====== Créer une application native macOS depuis un jar ======
-TODO+Cet article décrit comment encapsuler un //.jar exécutable//​ dans un //bundle macOS// (une application native macOS, donc un répertoire //.app// possédant une certaine structure).
  
 +===== appbundler =====
 +Tout d'​abord,​ il vous faut le programme //​appbundler//​ disponible (par exemple) chez [[https://​bitbucket.org/​infinitekind/​appbundler/​overview| Bitbucket]]. C'est lui qui crée l'​application native.\\
 +Voici la version disponible au moment de l'​écriture de cet article: {{ :​appbundler:​infinitekind-appbundler-6687ec9d200c.zip |}}
  
 +Décompressez,​ vous obtenez alors un répertoire contenant un fichier ''​build.xml''​ et un sous-répertoire ''​appbundler'',​ lancez un ''​Terminal''​ et placez-vous dans le répertoire contenant ''​build.xml''​.
  
 +Il suffit alors de lancer ''​ant''​.\\
 +Chez moi, il est ici: ''/​Applications/​NetBeans/​NetBeans 8.1.app/​Contents/​Resources/​NetBeans/​extide/​ant/​bin/​ant''​.
 +<note important>​Il vous faudra ''​Xcode''​ afin de compiler ''​JavaAppLauncher''​ ou alors prenez directement mon fichier ''​appbundler-1.0ea.jar.zip''​ disponible ci-dessous.</​note>​
 +
 +Cela crée le programme ''​appbundler-1.0ea.jar''​ dans le répertoire ''​appbundler/​bin''​. Voici le mien: {{ :​appbundler:​appbundler-1.0ea.jar.zip |}}, il est modifié afin de n'​avoir que la version 64 bits de ''​JavaAppLauncher''​.
 +===== Utilisation =====
 +
 +Voyons comment faire à l'aide d'un exemple, l'​article de [[verbiste-macos|Verbiste]] contient {{ :​verbiste:​verbiste-gui.jar.zip |}}.
 +
 +Placez //​verbiste-gui.jar//,​ //​appbundler-1.0ea.jar//​ et {{ :​appbundler:​verbiste.icns.zip |}} (décompressé) dans un même répertoire.
 +
 +Toujours dans ce répertoire,​ créez le fichier ''​build.xml''​ comme suit:
 +<code xml build.xml>​
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<project name="​Verbiste"​ default="​Verbiste"​ basedir="​.">​
 +    <!-- Import environment variables -->
 +    <​property environment="​env"/>​
 +    <!-- Define the appbundler task -->
 +    <taskdef
 +        name="​appbundler"​
 +        classname="​com.oracle.appbundler.AppBundlerTask"​
 +        classpath="​appbundler-1.0ea.jar"​
 +    />
 +    <!-- Create the app bundle -->
 +    <target name="​Verbiste">​
 +        <​appbundler
 +            outputdirectory="​."​
 +            name="​Verbiste"​
 +            displayname="​Verbiste"​
 +            identifier="​granddub.verbiste.Verbiste"​
 +            shortversion="​1.0"​
 +            mainclassname="​verbiste.Verbiste"​
 +            icon="​verbiste.icns"​
 +            copyright="​© 2017 Grand Dub&#​10;​Merci à: &#​10;​Pierre Sarrazin &​lt;​http://​sarrazip.com/​dev/​verbiste.html&​gt;"​
 +        >
 +            <​classpath file="​VerbisteUI.jar"/>​
 +
 +            <option value="​-Dapple.laf.useScreenMenuBar=true"/>​
 +
 +            <!-- Pour avoir le même PATH dans l'​appli que le shell courant (qui lui sait lancer french-conjugator) -->
 +            <​environment
 +                name="​PATH"​ value="​${env.PATH}"​
 +            />
 +
 +            <scheme value="​mailto"/>​
 +
 +        </​appbundler>​
 +    </​target>​
 +</​project>​
 +</​code>​
 +Lancez ''​ant'',​ c'est terminé.
 +
 +<​note>​
 +On peut aussi mettre cela dans le build.xml de la racine d'un projet //​NetBeans//​ comme expliqué à: http://​docs.oracle.com/​javase/​7/​docs/​technotes/​guides/​jweb/​packagingAppsForMac.html.\\
 +C'est le cas du projet fourni dans l'​article [[verbiste-macos|Verbiste sous macOS]].
 +
 +La documentation //Oracle// citée ci-dessus explique aussi comment encapsuler le ''​JRE''​ dans le //bundle// afin de le distribuer indépendamment de l'​installation de //Java// sur la cible.
 +</​note>​
 +
 + 
appbundler-jar-native-macos.1502073329.txt.gz · Dernière modification: 2017/08/07 23:56 (modification externe)