hack simple pour les applets: écrire un code C avec main et un appel à la fonction "system" comme system ("appletviewer java_src_file");
Madhusoodan P
1
Est-ce que le .exe fonctionne dans le système Windows sans JRE?
Arpit Agarwal
Juste pour être complet (je ne l'ai pas essayé moi-même parce que nous avions besoin d'exe wrapper, pas de programme d'installation): les packages d'installation peuvent également être créés à l'aide de javapackager (voir docs.oracle.com/javase/8/docs/technotes/guides/deploy/… ) . Pour créer le programme d'installation EXE ou MSI, en outre Inno Setup ou WiX doivent être téléchargés et installés.
L'outil Java Packager compile, conditionne et prépare les applications Java et JavaFX pour la distribution. La commande javapackager est la version en ligne de commande.
- Documentation d'Oracle
L' javapackagerutilitaire est livré avec le JDK. Il peut générer des fichiers .exe avec le -native exedrapeau, entre autres choses.
Emballe votre JAR, vos ressources et une machine virtuelle Java pour la distribution sur Windows, Linux et Mac OS X, en ajoutant un fichier exécutable natif pour le faire apparaître comme une application native. Packr est le plus approprié pour les applications GUI.
JSmooth est un wrapper exécutable Java. Il crée des lanceurs Windows natifs (.exe standard) pour vos applications java. Cela rend le déploiement java beaucoup plus fluide et convivial, car il est capable de trouver toute machine virtuelle Java installée par lui-même.
- Site Web de JSmooth
JSmooth est open source et possède des fonctionnalités, mais il est très ancien. La dernière version date de 2007.
JexePack est un outil en ligne de commande (idéal pour les scripts automatisés) qui vous permet de regrouper votre application Java (fichiers de classe), éventuellement avec ses ressources (comme GIF / JPG / TXT / etc), en un seul EXE Windows 32 bits compressé , qui s'exécute à l'aide de Java Runtime Environment de Sun. Les applications console et fenêtrées sont prises en charge.
- Site Web de JexePack
JexePack est un logiciel d'essai. Le paiement est requis pour une utilisation en production, et les fichiers exe créés avec cet outil afficheront des "rappels" sans paiement. De plus, la dernière version date de 2013.
InstallAnywhere permet aux développeurs de créer facilement des logiciels d'installation professionnels pour n'importe quelle plate-forme. Avec InstallAnywhere, vous vous adapterez rapidement aux changements de l'industrie, vous lancerez sur le marché plus rapidement et offrirez une expérience client attrayante. Et connaissez la vulnérabilité des composants OSS de votre projet avant l'expédition.
- Site Web d'InstallAnywhere
InstallAnywhere est un package commercial / d'entreprise qui génère des programmes d'installation pour les programmes Java. Il est probablement capable de créer des fichiers .exe.
Fichiers JAR exécutables
Comme alternative aux fichiers .exe, vous pouvez créer un fichier JAR qui s'exécute automatiquement lorsque vous double-cliquez dessus, en ajoutant un point d'entrée au manifeste JAR .
Launch4j est un outil multiplateforme pour encapsuler des applications Java distribuées sous forme de fichiers jars dans des exécutables natifs Windows légers. L'exécutable peut être configuré pour rechercher une certaine version de JRE ou utiliser une version groupée, et il est possible de définir des options d'exécution, comme la taille de segment initiale / maximale. L'encapsuleur offre également une meilleure expérience utilisateur grâce à une icône d'application, un écran de démarrage natif pré-JRE, un nom de processus personnalisé et une page de téléchargement Java au cas où le JRE approprié ne serait pas trouvé.
MISE À JOUR: GCJ est mort. Il a été officiellement retiré du projet GCC en 2016. Même avant cela, il a été pratiquement abandonné pendant sept ans, et en tout cas il n'a jamais été suffisamment complet pour servir d'implémentation Java alternative viable.
Un inconvénient de l'utilisation de GCJ pour créer un exécutable autonome est que la taille de l'EXE résultant peut être assez grande. Une fois, j'ai compilé une application de console triviale dans GCJ et le résultat était un exécutable d'environ 1 Mo. (Il peut y avoir des moyens de contourner ce problème à ma connaissance. Une autre option serait les programmes de compression exécutables.)
En termes d'installateurs open source, le système d'installation scriptable Nullsoft est un programme d'installation scriptable. Si vous êtes curieux, il existe des exemples fournis par les utilisateurs sur la façon de détecter la présence d'un JRE et de l'installer automatiquement si le JRE requis n'est pas installé. (Juste pour vous faire savoir, je n'ai jamais utilisé NSIS auparavant.)
Un bon wrapper apporte un JRE ou l'installe si nécessaire et gère les situations d'erreur.
Thorbjørn Ravn Andersen
16
Nous utilisons Install4J pour créer des programmes d'installation pour les environnements Windows ou Unix.
Il est facilement personnalisable au point où vous souhaitez écrire des scripts pour des actions spéciales qui ne peuvent pas être effectuées avec des dialogues standard. Mais même si nous configurons des services Windows avec, nous n'utilisons que des composants standard.
installateur + lanceur
windows ou unix
scriptable en Java
tâche de fourmi
de nombreux panneaux et actions standard personnalisables
inclut ou télécharge éventuellement un JRE
peut également lancer des services Windows
plusieurs langues
Je pense que Launch4J est de la même entreprise (juste le lanceur - pas d'installation).
PS: malheureusement, je ne suis pas payé pour cette approbation. J'aime juste cet outil.
Le dernier Java Web Start a été amélioré pour permettre un bon fonctionnement hors ligne ainsi qu'une «installation locale». Cela vaut la peine d'être examiné.
EDIT 2018: Java Web Start n'est plus fourni avec les JDK les plus récents. Oracle pousse plutôt vers un modèle "déployer votre application localement avec un JRE inclus".
Apparemment, la sécurité de JWS a été tellement renforcée qu'elle nécessite beaucoup plus d'efforts qu'auparavant pour fonctionner. Cela pourrait néanmoins être utile pour les installateurs.
Thorbjørn Ravn Andersen
9
Si vous devez convertir l'intégralité de votre application en code natif, c'est-à-dire un EXE plus des DLL, il existe ExcelsiorJET . J'ai trouvé que cela fonctionne bien et j'ai fourni une alternative au regroupement d'un JRE.
Je dirais que launch4j est le meilleur outil pour convertir un code source java (.java) en fichier .exe Vous pouvez même regrouper un jre avec lui pour la distribution et l'exe peut même être iconifié. Bien que la taille de l'application augmente, elle garantit que l'application fonctionnera parfaitement même si l'utilisateur n'a pas installé de jre. Il garantit également que vous êtes en mesure de fournir le jre spécifique requis pour votre application sans que l'utilisateur n'ait à l'installer séparément. Mais malheureusement, java perd son importance. Son support multi-plateforme est totalement ignoré et l'application finale n'est prise en charge que pour Windows. Mais ce n'est pas un gros problème, si vous ne vous adressez qu'aux utilisateurs de Windows.
Vous pouvez également utiliser un traducteur java-to-c (par exemple, JCGO ) et compiler les fichiers C générés dans un fichier binaire natif (.exe) pour la plate-forme cible.
Je suis très incrédule quant à l'efficacité de cette méthode. Je devrais le voir pour le croire (pensez au fait que la plupart du code Java est des appels d'API à JRE, et tout cela n'est pas présent sur C, peu importe les différences dans la façon dont le langage fonctionne).
Camilo Martin
3
Je peux être pardonné d'être contre la conversion d'un programme java en une application .exe et j'ai mes raisons. le principal étant qu'un programme java peut être compilé dans un fichier jar à partir de beaucoup d'IDE. Lorsque le programme est au format .jar, il peut s'exécuter sur plusieurs plates-formes au lieu de .exe qui ne s'exécuterait que dans un environnement très limité. Je suis pour l'idée que les programmes Java ne devraient pas être convertis en Exe, sauf si cela est très nécessaire. On peut toujours écrire des fichiers .bat qui exécutent le programme Java alors qu'il s'agit d'un fichier jar.
s'il est vraiment nécessaire de le convertir en exe, le convertisseur Jar2Exe le fait en silence et on peut également attacher des bibliothèques qui sont compilées avec l'application principale.
Le fait est que la puissance de Java est la portabilité, mais beaucoup de gens ont juste besoin d'un exe de base pour Windows. Personnellement, j'adore le concept de Java ... mais j'aimerais distribuer quelque chose que mes utilisateurs pourraient exécuter, sans avoir à télécharger un JRE.
Balmipour
2
Vous pouvez convertir jar en exe en utilisant jar2exe . Cependant, vous devez acheter le logiciel. Si vous avez besoin d'un logiciel open source, je suggère JSmooth .
Réponses:
javapackager
L'
javapackager
utilitaire est livré avec le JDK. Il peut générer des fichiers .exe avec le-native exe
drapeau, entre autres choses.WinRun4J
WinRun4J est un utilitaire open source. Il a de nombreuses fonctionnalités.
packr
packr est un autre outil open source.
JSmooth
JSmooth est open source et possède des fonctionnalités, mais il est très ancien. La dernière version date de 2007.
JexePack
JexePack est un logiciel d'essai. Le paiement est requis pour une utilisation en production, et les fichiers exe créés avec cet outil afficheront des "rappels" sans paiement. De plus, la dernière version date de 2013.
InstallAnywhere
InstallAnywhere est un package commercial / d'entreprise qui génère des programmes d'installation pour les programmes Java. Il est probablement capable de créer des fichiers .exe.
Fichiers JAR exécutables
Comme alternative aux fichiers .exe, vous pouvez créer un fichier JAR qui s'exécute automatiquement lorsque vous double-cliquez dessus, en ajoutant un point d'entrée au manifeste JAR .
Pour plus d'informations
Une excellente source d'informations sur ce sujet est l'article d'Excelsior " Convertir Java en EXE - Pourquoi, Quand, Quand Pas et Comment ".
Voir également l'article complémentaire " Meilleurs outils de conversion JAR vers EXE, gratuits et commerciaux ".
la source
Launch4j
la source
GCJ: Le compilateur GNU pour Java peut compiler le code source Java en code machine natif, y compris les exécutables Windows.
Bien que tout en Java ne soit pas pris en charge sous GCJ, en particulier les composants GUI (voir Quelles sont les API Java prises en charge? Quelle est la prise en charge complète? Question de la FAQ ). Je n'ai pas beaucoup utilisé GCJ, mais d'après les tests limités que j'ai faits avec les applications de console, cela semble bien.
Un inconvénient de l'utilisation de GCJ pour créer un exécutable autonome est que la taille de l'EXE résultant peut être assez grande. Une fois, j'ai compilé une application de console triviale dans GCJ et le résultat était un exécutable d'environ 1 Mo. (Il peut y avoir des moyens de contourner ce problème à ma connaissance. Une autre option serait les programmes de compression exécutables.)
En termes d'installateurs open source, le système d'installation scriptable Nullsoft est un programme d'installation scriptable. Si vous êtes curieux, il existe des exemples fournis par les utilisateurs sur la façon de détecter la présence d'un JRE et de l'installer automatiquement si le JRE requis n'est pas installé. (Juste pour vous faire savoir, je n'ai jamais utilisé NSIS auparavant.)
Pour plus d'informations sur l'utilisation de NSIS pour installer des applications Java, veuillez consulter ma réponse à la question " Quelle est la meilleure façon de distribuer des applications Java? "
la source
Vous pouvez créer un fichier batch avec le code suivant:
et convertir le .bat en .exe en utilisant n'importe quel convertisseur .bat en .exe.
la source
Nous utilisons Install4J pour créer des programmes d'installation pour les environnements Windows ou Unix.
Il est facilement personnalisable au point où vous souhaitez écrire des scripts pour des actions spéciales qui ne peuvent pas être effectuées avec des dialogues standard. Mais même si nous configurons des services Windows avec, nous n'utilisons que des composants standard.
Je pense que Launch4J est de la même entreprise (juste le lanceur - pas d'installation).
PS: malheureusement, je ne suis pas payé pour cette approbation. J'aime juste cet outil.
la source
Le dernier Java Web Start a été amélioré pour permettre un bon fonctionnement hors ligne ainsi qu'une «installation locale». Cela vaut la peine d'être examiné.
EDIT 2018: Java Web Start n'est plus fourni avec les JDK les plus récents. Oracle pousse plutôt vers un modèle "déployer votre application localement avec un JRE inclus".
la source
Si vous devez convertir l'intégralité de votre application en code natif, c'est-à-dire un EXE plus des DLL, il existe ExcelsiorJET . J'ai trouvé que cela fonctionne bien et j'ai fourni une alternative au regroupement d'un JRE.
la source
IMHO JSmooth semble faire du très bon travail.
la source
Je dirais que launch4j est le meilleur outil pour convertir un code source java (.java) en fichier .exe Vous pouvez même regrouper un jre avec lui pour la distribution et l'exe peut même être iconifié. Bien que la taille de l'application augmente, elle garantit que l'application fonctionnera parfaitement même si l'utilisateur n'a pas installé de jre. Il garantit également que vous êtes en mesure de fournir le jre spécifique requis pour votre application sans que l'utilisateur n'ait à l'installer séparément. Mais malheureusement, java perd son importance. Son support multi-plateforme est totalement ignoré et l'application finale n'est prise en charge que pour Windows. Mais ce n'est pas un gros problème, si vous ne vous adressez qu'aux utilisateurs de Windows.
la source
Vous pouvez utiliser Janel . Ce dernier fonctionne comme un lanceur d'applications ou un lanceur de services (disponible à partir de 4.x).
la source
Vous pouvez également utiliser un traducteur java-to-c (par exemple, JCGO ) et compiler les fichiers C générés dans un fichier binaire natif (.exe) pour la plate-forme cible.
la source
Je peux être pardonné d'être contre la conversion d'un programme java en une application .exe et j'ai mes raisons. le principal étant qu'un programme java peut être compilé dans un fichier jar à partir de beaucoup d'IDE. Lorsque le programme est au format .jar, il peut s'exécuter sur plusieurs plates-formes au lieu de .exe qui ne s'exécuterait que dans un environnement très limité. Je suis pour l'idée que les programmes Java ne devraient pas être convertis en Exe, sauf si cela est très nécessaire. On peut toujours écrire des fichiers .bat qui exécutent le programme Java alors qu'il s'agit d'un fichier jar.
s'il est vraiment nécessaire de le convertir en exe, le convertisseur Jar2Exe le fait en silence et on peut également attacher des bibliothèques qui sont compilées avec l'application principale.
la source
Vous pouvez convertir jar en exe en utilisant jar2exe . Cependant, vous devez acheter le logiciel. Si vous avez besoin d'un logiciel open source, je suggère JSmooth .
la source