Ci-dessous, les différences entre deux révisions de la page.
appbundler-jar-native-macos [2017/08/07 23:50] Grand Dub [Utilisation] |
appbundler-jar-native-macos [2017/08/07 23:56] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Créer une application native macOS depuis un jar ====== | ||
- | 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
Merci à: 
Pierre Sarrazin <http://sarrazip.com/dev/verbiste.html>" | ||
- | > | ||
- | <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 (cet article explique aussi comment encapsuler le ''JRE'' dans le //bundle// afin de le distribuer indépendamment de l'installation de //Java// sur la cible).\\ | ||
- | C'est aussi le cas du projet fourni dans l'article [[verbiste-macos|Verbiste sous macOS]]. | ||
- | </note> | ||
- | |||
- |