Outils pour utilisateurs

Outils du site


appbundler-jar-native-macos

Ceci est une ancienne révision du document !


Table des matières

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 Bitbucket. C'est lui qui crée l'application native.
Voici la version disponible au moment de l'écriture de cet article: 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 ce 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.

Il vous faudra Xcode afin de compiler JavaAppLauncher

Cela crée le programme appbundler-1.0ea.jar dans le répertoire appbundler/bin. Voici le mien 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 contient verbiste-gui.jar.zip.

Placez verbiste-gui.jar, appbundler-1.0ea.jar et verbiste.icns.zip (décompressé) dans un même répertoire.

Créez le fichier build.xml comme suit:

<?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>

Lancez ant, c'est terminé.

appbundler-jar-native-macos.1502139765.txt.gz · Dernière modification: 2017/08/07 23:56 (modification externe)