IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Comment créer une app autonome Java / JavaFX sur Mac


Sujet :

JavaFX

  1. #1
    Membre régulier
    Homme Profil pro
    Hobby
    Inscrit en
    Août 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Août 2002
    Messages : 125
    Points : 82
    Points
    82
    Par défaut Comment créer une app autonome Java / JavaFX sur Mac
    Bonjour,

    J'essaie vainement de trouver sur le web une procédure complète (et simple si possible) décrivant la réalisation d'une application autonome sur Mac.

    Je souhaiterai créer un fichier lançant l'application par double clic.
    Cette application intègrerait déjà la JVM et l'environnement JavaFX.

    J'ai trouvé ceci ; les concepteurs n'ont pas trouvé plus complexe ?


    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 876
    Points
    22 876
    Billets dans le blog
    51
    Par défaut
    1. La procédure que tu as trouve date un peu (JavaFX 2) mais le concept reste similaire dans les grandes lignes.
    2. C'est pas bien compliqué sauf si on est un dev qui sait rien faire sans cliquer sur des boutons dans un IDE ou un environnement tout graphique.
    3. Même sur macOS la console est ton meilleur ami.


    Il te faut :
    • Un JDK (voir OpenJDK)
    • Un SDK JavaFX (voir Gluon)
    • Les fichiers JMOD de JavaFX (voir Gluon)
    • Avoir préparé un JAR pour ton App avec les libs incluses (hors JAR de JavaFX. C'est plus simple avec 1 seul JAR au lieu de 36, voir dans ton IDE pour générer un tel JAR)
    • Un certificat de dev Java pour signer ton JAR (optionnel)
    • Un certificat de dev Apple installé dans ton gestionnaire de certificats sur ton mac (optionnel)
    • Une icône pour ton app au format ICNS (optionnel)


    On va supposer que tu as déjà créé ton JAR (voir IDE) et que tu l'as déjà signé avec ton certificat Java (voir doc de jsign).

    Adapte ce script SH a ton environnement (il me semble pas utiliser de choses propres a Homebrew donc ça devrait fonctionner directos) :
    Code sh : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #!/bin/sh
    #export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home/
    export JAVA_HOME=<chemin vers le JDK, voir ci dessus>
    export PATH=$PATH:$JAVA_HOME/bin
     
    export APP_NAME=<le nom de ton APP>
    export MAIN_JAR=<le nom de ton fichier JAR principal>
     
    export INPUT_DIR=<ou se trouve ton fichier JAR>
    export OUTPUT_DIR=<ton répertoire de sortie>
     
    export FX_HOME=<ou se trouve le SDK JavaFX>
    export FX_LIBS=$FX_HOME/lib
    # Dans mon cas j'ai mis les JMODS dans un sous-repertoire
    export FX_JMODS=$FX_HOME/jmods
     
    # Effacer la precedente generation
    if [[ -d $OUTPUT_DIR/$APP_NAME ]]; then
    	rm -rf $OUTPUT_DIR/$APP_NAME
    fi
    mkdir -p $OUTPUT_DIR
    # Decommenter la ligne java et commenter la ligne jpackage juste pour tester que l'app puisse se lancer correctement avant packaging.
    # PS: ajouter ou enlever les modules Java et JavaFX suivant ce que tu utilises.
    #java --module-path $FX_LIBS --add-modules java.logging,javafx.fxml,javafx.controls,javafx.swing -jar $INPUT_DIR/$MAIN_JAR
    jpackage --type dmg --input $INPUT_DIR --name $APP_NAME --main-jar $MAIN_JAR --module-path $FX_JMODS --add-modules java.logging,javafx.fxml,javafx.controls,javafx.swing --dest $OUTPUT_DIR --icon <chemin vers ton fichier ICNS>

    Tu peux faire varier les options suivant que tu veux juste le répertoire APP ou un DMG ou les deux.
    J'ai pas chercher plus en avant pour mettre des infos supplémentaires, lire la doc de jpackage...

    Pour signer le DMG ou l'APP avec ton certificat Apple, il faut faire

    Code sh : Sélectionner tout - Visualiser dans une fenêtre à part
    codesign -s "<ton identite de developpeur>" <ton fichier DMG ou repertoire APP>

    La première fois que tu vas signer dans ta session actuelle, même si tu lances en ligne de commande, une boite de dialogue peut apparaître a l’écran.

  3. #3
    Membre régulier
    Homme Profil pro
    Hobby
    Inscrit en
    Août 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Août 2002
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    Merci bouye !
    Je vais tester ceci avec grand intérêt !
    Bonne journée... en Nouvelle Calédonie.

  4. #4
    Membre régulier
    Homme Profil pro
    Hobby
    Inscrit en
    Août 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Août 2002
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    @bouye

    Je viens de me rendre compte que j'avais oublié de répondre plus précisément à votre réponse.
    Tout avait parfaitement fonctionné et, depuis, j'utilise régulièrement votre script auquel j'ai ajouté quelques paramètres.
    Encore merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment installer une application développée avec C# sur MAC
    Par sanarz dans le forum Développement Windows
    Réponses: 3
    Dernier message: 20/11/2012, 17h34
  2. Comment créer une passerelle en Java
    Par hamzawhy dans le forum Général Java
    Réponses: 8
    Dernier message: 24/05/2012, 19h00
  3. Comment créer une boîte de dialogue JavaFX ?
    Par olivier57b dans le forum JavaFX
    Réponses: 15
    Dernier message: 07/06/2010, 10h40
  4. Réponses: 16
    Dernier message: 11/09/2009, 10h56
  5. Réponses: 2
    Dernier message: 02/04/2008, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo