Comment puis-je convertir mon programme Java en un.fichier exe? [fermé]


Si j'ai un fichier source Java (*.java) ou un fichier de classe (*.classe), comment puis-je convertir un .fichier exe?

J'ai également besoin d'un installateur pour mon programme.

Author: xskxzr, 2008-09-29

13 answers

Quelques options:

Fichier Jar Exécutable

Voir aussiDistribuer votre Application en tant que fichier JAR exécutable et leOracle docs sur la façon de créer un fichier jar qui peut être exécuté avec un double-clic sur Windows.

JSmooth

(EDIT: La dernière version était en 2007)

JSmooth est un wrapper exécutable Java. Il crée des lanceurs Windows natifs (standard .exe) pour vos applications java. Il fait java déploiement beaucoup plus fluide et convivial, car il est capable de trouver toute machine virtuelle Java installée par lui-même.

JexePack

(EDIT: Shareware: Dernière mise à jour dans la version 08/29/2013-8.4)

JexePack est un outil de ligne de commande (idéal pour les scripts automatisés) qui vous permet d'empaqueter votre application Java (fichiers de classe), éventuellement avec ses ressources (comme GIF / JPG / TXT / etc), en un seul EXE Windows compressé 32 bits, qui s'exécute à l'aide du Runtime Java de Sun Environnement. Les applications console et fenêtrées sont prises en charge.

LaunchAnywhere

(EDIT: Commerciale avec Essai Gratuit, la Dernière version est de 2012)

Un exécutable LAX est un fichier exécutable utilisé pour lancer une application Java sur n'importe quelle plate-forme compatible LaunchAnywhere. Actuellement, InstallAnywhere crée LaunchAnywheres sur Windows 95/98 / NT / 2000 / Me, Solaris, Linux et Mac OS X. LaunchAnywhere permet aux utilisateurs finaux de double-cliquer sur une icône (Windows ou Mac OS X) ou tapez une seule commande (UNIX) pour démarrer une application Java.

Voir aussi pour référence Convertir Java en EXE: Pourquoi, Quand, Quand Pas et Comment

 287
Author: Jay, 2016-07-23 20:00:48

Lancement 4J

Launch4j est un outil multiplateforme pour envelopper les applications Java distribuées sous forme de fichiers jar dans des exécutables natifs Windows légers. L'exécutable peut être configuré pour rechercher une certaine version JRE ou utiliser une version groupée, et il est possible de définir des options d'exécution, comme la taille initiale/max du tas. Le wrapper offre également une meilleure expérience utilisateur grâce à une icône d'application, un écran de démarrage pré-JRE natif, un nom de processus personnalisé et une page de téléchargement Java dans le cas où le JRE approprié ne peut pas être trouvé.

 103
Author: the.duckman, 2008-09-29 08:10:37

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 API Java sont prises en charge? Quel est le support? question de la FAQ). Je n'ai pas beaucoup utilisé GCJ, mais d'après les tests limités que j'ai effectués avec des applications de console, cela semble bien.

Un inconvénient de l'utilisation de GCJ pour créer un l'exécutable autonome est que la taille de l'EXE résultant peut être assez grande. Une fois, j'ai compilé une application console triviale dans GCJ et le résultat était un exécutable d'environ 1 Mo. (Il peut y avoir des moyens de contourner cela que je ne suis pas au courant. Une autre option serait les programmes de compression exécutables.)

En termes d'installateurs open-source, le Nullsoft Scriptable Install System est un installateur scriptable. Si vous êtes curieux, il y a des exemples de contribution d'utilisateurs sur la façon de détectez la présence d'un JRE et installez-le 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 l'installation d'applications Java, veuillez consulter ma réponsepour la question " Quelle est la meilleure façon de distribuer des applications Java?"

 34
Author: coobird, 2017-05-23 12:26:42

Vous pouvez essayer de nombreux wrappers java comme JSmooth, JWrapper et d'autres utilitaires, mais vous pouvez également créer un .chauve-souris avec le code suivant:
start javaw -jar JarFile.jar
et convertissez la chauve-souris en un exe en utilisant n'importe quel .chauve-souris .exe converter.

 24
Author: bugwheels94, 2014-10-21 18:04:17

Nous utilisons Install4J pour créer des installateurs pour les environnements Windows ou unix.

Il est facilement personnalisable jusqu'à ce que vous souhaitiez é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
  • scripts en Java
  • tâche ant
  • beaucoup de panneaux standard personnalisables et actions
  • inclut ou télécharge éventuellement un JRE
  • peut également lancer des services Windows
  • plusieurs langues

Je pense que Launch4J provient de la même société (juste le lanceur - pas d'installateur).

PS: malheureusement, je ne suis pas payé pour cette approbation. J'aime cet outil.

 15
Author: Stroboskop, 2008-09-29 13:01:46

Le dernierJava Web Start a été amélioré pour permettre un bon fonctionnement hors ligne ainsi qu'une "installation locale". Il est intéressant de regarder dans.

EDIT 2018: Java Web Start n'est plus fourni avec les nouveaux JDK. Oracle pousse plutôt vers un modèle "déployer votre application localement avec un JRE inclus".

 15
Author: Thorbjørn Ravn Andersen, 2018-09-29 15:07:45

IMHO JSmooth semble faire un très bon travail.

 9
Author: jussij, 2016-04-25 04:18:21

Si vous avez besoin de convertir toute votre application en code natif, c'est-à-dire un EXE plus des DLL, il y a ExcelsiorJET. J'ai trouvé que cela fonctionnait bien et a fourni une alternative au regroupement d'un JRE.

 8
Author: mdma, 2010-04-29 01:38:47

Je dirais que launch4j est le meilleur outil pour convertir un code source java(.java) à .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 de jre installé. Il s'assure é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 traitez uniquement aux utilisateurs de Windows.

 5
Author: Pratanu Mandal, 2012-08-27 18:40:48

Vous pouvez utiliser Janel. Ce dernier fonctionne comme un lanceur d'applications ou un lanceur de services (disponible à partir de 4.x).

 5
Author: L. BIZE, 2013-06-10 09:13:54

Alternativement, vous pouvez utiliser un traducteur java-to-c (par exemple, JCGO) et compiler les fichiers C générés en un binaire natif (.exe fichier pour la plate-forme cible.

 4
Author: Ivan Maidanski, 2010-05-28 14:26:14

On peut me pardonner d'être contre la conversion d'un programme java en a.application exe et j'ai mes raisons. le principal étant qu'un programme java peut être compilé dans un fichier jar à partir de nombreuxE. Lorsque le programme est en .format jar, il peut fonctionner sur plusieurs plates-formes par opposition à .exe qui ne fonctionnerait que dans un environnement très limité. Je suis pour l'idée que les programmes Java ne doivent pas être convertis en Exe à moins que ce ne soit très nécessaire. On peut toujours écrire .fichiers bat qui exécute le programme Java alors que c'est un fichier jar.

S'il est vraiment nécessaire de le convertir en exe, Jar2Exe converter le fait silencieusement et on peut également attacher des bibliothèques compilées avec l'application principale.

 3
Author: ErrorNotFoundException, 2012-07-19 13:16:24

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.

 2
Author: Raghunandan, 2016-04-25 04:19:52