Question conversion jar en app
Fermé
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
-
17 juin 2020 à 20:02
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 juin 2020 à 11:41
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 juin 2020 à 11:41
A voir également:
- Question conversion jar en app
- App data - Guide
- Télécharger sans app store gratuit - Guide
- Instagram app pc - Télécharger - Divers Communication
- Adb app control - Guide
- Jar decompiler - Télécharger - Langages
9 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
17 juin 2020 à 22:27
17 juin 2020 à 22:27
Bonjour,
Il est possible de créer des applications natives qui embarquent une JVM avec l'exécutable. La commande exacte dépend de la version de Java :
Il est possible de créer des applications natives qui embarquent une JVM avec l'exécutable. La commande exacte dépend de la version de Java :
- javafxpackager en Java 7
- javapackager en Java 8, 9, 10
- jlink en Java 11, 12
- jpackage en Java 14
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
19 juin 2020 à 12:26
19 juin 2020 à 12:26
J'ai testé jpackage, mais je ne sais pas trop comment faire (--input est requis et je ne sais pas à quoi cela sert).
Que puis-je faire ?
Y a t'il un moyen plus simple ?
J'ai aussi testé JarBundler (plus simple à utiliser) mais ça ne marche pas...
Que puis-je faire ?
Y a t'il un moyen plus simple ?
J'ai aussi testé JarBundler (plus simple à utiliser) mais ça ne marche pas...
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 juin 2020 à 14:49
19 juin 2020 à 14:49
Il faut regarder la documentation : Packaging Tool User's Guide - Basic Packaging
jpackage --input app-directory --main-jar jar-file [--main-class main-class]
jpackage --input app-directory --main-jar jar-file [--main-class main-class]
- app-directory is the name of the directory that contains the files for your application. The path can be absolute or relative to the current directory.
- jar-file is the name of the JAR file that contains the main class for the application.
- main-class is the name of the main class and is only required if the main class is not identified in the MANIFEST.MF file.
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
19 juin 2020 à 15:46
19 juin 2020 à 15:46
Le problème, c'est que je ne comprends pas à quoi sert --input (dossier de quels fichier ? il n'y a qu'un seul .jar).
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 juin 2020 à 16:31
19 juin 2020 à 16:31
Le dossier qui contient le jar dont tu précises le nom ensuite.
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
19 juin 2020 à 18:40
19 juin 2020 à 18:40
Maintenant, j'ai un autre problème :
Lorsque je fais
Comment puis-je générer (et trouver !) mon fichier .app ?
NOTE: j'utilises jdk binaire portable.
Lorsque je fais
jpackage --input "appdir" --main-jar "appdir/app.jar", il n'y a pas de fichier .app qui s'est généré. (Ou le fichier .app est ailleurs, mais je ne sais pas où...)
Comment puis-je générer (et trouver !) mon fichier .app ?
NOTE: j'utilises jdk binaire portable.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié le 19 juin 2020 à 21:12
Modifié le 19 juin 2020 à 21:12
Normalement ce devrait seulement être
Après, je ne sais pas ce qu'est un fichier .app mais ça doit dépendre aussi du système d'exploitation que tu utilises, je t'invite donc à lire la documentation sur les éventuels outils tiers requis.
https://docs.oracle.com/en/java/javase/14/jpackage/packaging-overview.html
--main-jar app.jarpuisque le répertoire a déjà été précisé par
--input appdir.
Après, je ne sais pas ce qu'est un fichier .app mais ça doit dépendre aussi du système d'exploitation que tu utilises, je t'invite donc à lire la documentation sur les éventuels outils tiers requis.
https://docs.oracle.com/en/java/javase/14/jpackage/packaging-overview.html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
Modifié le 20 juin 2020 à 15:29
Modifié le 20 juin 2020 à 15:29
Après, j'ai testé sur Windows (J'étais sur MAC), mais il y a cette erreur :
à quoi c'est dû ?...
Remarque: Windows était juste pour tester. En réalité, j'ai besoin de "compiler" le jar pour MAC
Can not find WiX tools (light.exe, candle.exe)
Download WiX 3.0 or later from https://wixtoolset.org and add it to the PATH.
Error: Invalid or unsupported type: [null]
à quoi c'est dû ?...
Remarque: Windows était juste pour tester. En réalité, j'ai besoin de "compiler" le jar pour MAC
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
20 juin 2020 à 21:10
20 juin 2020 à 21:10
WiX tools, c'est un des "outils tiers requis" dont je parlais, sous Windows il est obligatoire pour que ça fonctionne.
Sous Mac, la ligne de commande Xcode peut être nécessaire pour certaines options avancées.
Je me réfère là encore à la même documentation :
https://docs.oracle.com/en/java/javase/14/jpackage/packaging-overview.html
Sous Mac, la ligne de commande Xcode peut être nécessaire pour certaines options avancées.
Je me réfère là encore à la même documentation :
https://docs.oracle.com/en/java/javase/14/jpackage/packaging-overview.html
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
21 juin 2020 à 13:13
21 juin 2020 à 13:13
Ça marche...
Mais pourquoi cela n'a pas marché sur Mac ?
Mais pourquoi cela n'a pas marché sur Mac ?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
21 juin 2020 à 16:52
21 juin 2020 à 16:52
Je ne sais pas, je ne connais pas Mac...
Cela peut dépendre de la version du JDK, voire de la version de Mac, ou de la manière d'utiliser l'un avec l'autre.
Notons que jpackage devait être inclus à Java 13, puis a été repoussé pour être intégré à Java 14, mais il n'est toujours dans une version "incubating" c'est à dire qu'il n'est pas complètement stable et encore moins définitif.
Malgré les versions intermédiaires qui sortent tous les 6 mois, la dernière version LTS c'est Java 11 et la prochaine sera Java 17 en septembre 2021. Entre les deux si ça marche tant mieux, sinon ce sera amélioré plus tard...
Cela peut dépendre de la version du JDK, voire de la version de Mac, ou de la manière d'utiliser l'un avec l'autre.
Notons que jpackage devait être inclus à Java 13, puis a été repoussé pour être intégré à Java 14, mais il n'est toujours dans une version "incubating" c'est à dire qu'il n'est pas complètement stable et encore moins définitif.
Malgré les versions intermédiaires qui sortent tous les 6 mois, la dernière version LTS c'est Java 11 et la prochaine sera Java 17 en septembre 2021. Entre les deux si ça marche tant mieux, sinon ce sera amélioré plus tard...
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
22 juin 2020 à 19:26
22 juin 2020 à 19:26
C'est bon ! J'ai trouvé les fichiers générés ! Il sont dans le dossier bin (là où se trouve jpackage) du jdk...
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
Modifié le 23 juin 2020 à 18:32
Modifié le 23 juin 2020 à 18:32
Oups ! J'ai un nouveau problème !
Pour une certaine raison, je dois utiliser JDK 8.
Sauf que jpackage n'est pas disponible avec JDK 8 !
J'ai essayé avec javapackager et javafxpackager, mais à mon avis, ça ne marche qu'avec un code source, et moi j'ai un .jar...
Que puis-je faire ?
Pour une certaine raison, je dois utiliser JDK 8.
Sauf que jpackage n'est pas disponible avec JDK 8 !
J'ai essayé avec javapackager et javafxpackager, mais à mon avis, ça ne marche qu'avec un code source, et moi j'ai un .jar...
Que puis-je faire ?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
>
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
23 juin 2020 à 20:49
23 juin 2020 à 20:49
Si je reprends la documentation de jpackage, le fichier .app que tu as généré avec le JDK 14 devrait être structuré comme ceci :
Je pense que remplacer le dossier
HelloWorld.app/ Contents/ Info.plist MacOS/ // Application launchers HelloWorld Resources/ // Icons, etc. app/ HelloWorld.cfg // Configuration info, created by jpackage HelloWorld.jar // JAR file, copied from the --input directory runtime/ // Java runtime image
Je pense que remplacer le dossier
runtimequi contient la JRE 14, par une JRE 8 devrait suffire.
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
24 juin 2020 à 13:38
24 juin 2020 à 13:38
Dans le dossier
runtime, il n'y a pas la même chose que dans JRE 8...
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 juin 2020 à 15:47
24 juin 2020 à 15:47
Je n'ai pas de Mac pour tester, mais ce qu'il doit y avoir dans le dossier runtime actuellement doit correspondre à ce qu'il y a dans le JDK 14, soit dans son intégralité, soit plus probablement un ou plusieurs de ses sous-dossiers (notamment bin)
C'est les fichiers/répertoires équivalent dans le JDK 8 qu'il faudrait remettre à la place.
C'est les fichiers/répertoires équivalent dans le JDK 8 qu'il faudrait remettre à la place.
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
>
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
24 juin 2020 à 17:36
24 juin 2020 à 17:36
C'est normal que dans le dossier "runtime", il n'y ait pas le dossier "bin" ??
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
>
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
24 juin 2020 à 17:59
24 juin 2020 à 17:59
Ce serait plus simple si tu me disait ce qu'il y avait plutôt que ce qu'il n'y a pas...
Neutrino3500
Messages postés
70
Date d'inscription
lundi 11 novembre 2019
Statut
Membre
Dernière intervention
25 juillet 2020
Modifié le 24 juin 2020 à 18:20
Modifié le 24 juin 2020 à 18:20
Dans le dossier
runtime, il y a un dossier Contents, ensuite (dans un sous dossier), il y a un dossier Home, puis dans ce dossier Home, il y a trois sous-dossiers: conf, legal, et lib (et un fichier release), mais PAS de dossier bin.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 juin 2020 à 11:41
25 juin 2020 à 11:41
Remplaces tout le Contents de ton application par le Contents du JDK 8.
Pour diminuer la taille tu pourras supprimer Home/src.zip et Home/javafx-src.zip
Et sous réserve que ça fonctionne supprimer les dossiers Home/jre, Home/lib/visualvm et Home/lib/missioncontrol
Pour diminuer la taille tu pourras supprimer Home/src.zip et Home/javafx-src.zip
Et sous réserve que ça fonctionne supprimer les dossiers Home/jre, Home/lib/visualvm et Home/lib/missioncontrol