Comment puis-je convertir mon programme Java.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 aussi besoin d'un installateur pour mon programme.

453
demandé sur xskxzr 2008-09-29 05:23:59

13 réponses

quelques options:

Fichier JAR Exécutable

voir aussi distribuer votre Application comme un fichier JAR exécutable et le Oracle docs sur la façon de créer un fichier jar qui peut être exécuté avec un double-clic sur Windows.

JSmooth

(EDIT: Dernière version était en 2007)

JSmooth est un Wrapper Java. Il crée des lanceurs Windows natifs (standard .exe) pour vos applications java. Il rend le déploiement de java beaucoup plus facile et convivial, comme il est en mesure de trouver toute VM Java installé par lui-même.

JexePack

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

JexePack est un outil en ligne de commande (idéal pour les scripts automatisés) qui vous permet d'empaqueter votre application Java (fichiers de classe), en option avec ses ressources (comme GIF/JPG/TXT/etc), dans un seul EXE Windows comprimé de 32 bits, qui fonctionne en utilisant L'environnement Java Runtime de Sun. Les applications console et fenêtrées sont supportées.

LaunchAnywhere

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

un exécutable LAX est un fichier exécutable qui est utilisé pour lancer une application Java sur n'importe quelle plateforme compatible Launchwhere. 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 taper une commande unique (UNIX) pour démarrer une application Java.

voir aussi pour référence convertir Java en EXE: pourquoi, Quand, quand pas et comment

287
répondu Jay 2016-07-23 20:00:48

Launch4j

Launch4j est un outil multi-plateforme pour envelopper les applications Java distribuées sous forme de pots dans des exécutables Windows natifs 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 heap. Le wrapper offre également une meilleure expérience utilisateur grâce à une icône d'application, une écran de projection pre-JRE, 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
répondu 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 par GCJ, en particulier Les composants GUI (voir quelles API Java sont supportées? Quel est le support? question du FAQ ). Je n'ai pas beaucoup utilisé GCJ, mais à partir des tests limités que j'ai fait avec la console les applications, il semble très bien.

L'un des inconvénients d'utiliser 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 y a peut-être des moyens de contourner cela dont 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 installer Le système est un installateur scriptable. Si vous êtes curieux, il y a exemples de contribution de l'utilisateur 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é. (Pour votre information, je n'ai jamais utilisé de NSIS auparavant.)

pour plus d'informations sur l'utilisation de NSIS pour l'installation D'applications Java, s'il vous plaît jeter un oeil à ma réponse pour la question " Quelle est la meilleure façon de distribuer des applications Java? "

34
répondu coobird 2017-05-23 12:26:42

vous pouvez essayer beaucoup de Java wrappers là-bas comme JSmooth, JWrapper, et d'autres utilitaires, mais vous pouvez également faire un .bat avec le code suivant:

start javaw -jar JarFile.jar

et convertissez la batte en exe en utilisant l'un d'eux .chauve-souris .EXE converter.

24
répondu bugwheels94 2014-10-21 18:04:17

nous utilisons Install4J pour construire des installateurs pour les environnements Windows ou unix.

c'est facilement personnalisable jusqu'au point où vous voulez écrire des scripts pour des actions spéciales qui ne peuvent pas être faites avec des dialogues standards. Mais même si nous installons des Services windows avec, nous n'utilisons que des composants standards.

  • installateur + lanceur
  • windows ou unix
  • scriptable en Java
  • tâche ant
  • beaucoup de personnalisable standard des panneaux et des actions
  • en option comprend des téléchargements ou un JRE
  • peut également lancer des Services windows
  • langues multiples

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

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

15
répondu Stroboskop 2008-09-29 13:01:46

Le Dernier Java Web Start a été amélioré pour permettre une bonne opération hors ligne ainsi que pour permettre"l'installation locale". Il est intéressant de regarder dans.

EDIT 2018: Java Web Start n'est plus livré avec les JDK les plus récents. Oracle pousse vers un" déployer votre application localement avec un modèle JRE fermé " à la place.

15
répondu Thorbjørn Ravn Andersen 2018-09-29 15:07:45

a mon avis JSmooth semble faire du bon travail.

9
répondu jussij 2016-04-25 04:18:21

si vous avez besoin de convertir votre application entière en code natif, c.-à-d. un EXE plus DLLs, Il ya ExcelsiorJET . J'ai trouvé qu'il fonctionne bien et a fourni une alternative à la juxtaposition d'un JRE.

8
répondu 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 pour la distribution et l'exe peut même être iconifié. Bien que la taille de l'application augmente, il s'assure que l'application fonctionnera parfaitement même si l'utilisateur n'a pas un jre installé. Elle fait également en sorte que vous êtes en mesure de fournir la jre requis pour votre application sans avoir à l'installer séparément. Mais malheureusement, java perd son importance. Son support multi-plateforme est totalement ignoré et l'application finale n'est supportée que pour windows. Mais ce n'est pas une grosse affaire, si vous traitez seulement aux utilisateurs de windows.

5
répondu Pratanu Mandal 2012-08-27 18:40:48

vous pouvez utiliser Janel . Ce dernier fonctionne comme un lanceur d'application ou de service (disponible à partir de 4.x).

5
répondu 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 dans un binaire natif (.exe fichier pour la plate-forme cible.

4
répondu Ivan Maidanski 2010-05-28 14:26:14

je peux être pardonné d'être contre la conversion d'un programme java pour un .Application exe et j'ai Mes raisons. le plus important étant qu'un programme java peut être compilé dans un fichier jar à partir de beaucoup D'IDE. Quand le programme est là .jar format, 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 .les fichiers bat qui exécutent le Java ce programme 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 aussi attacher des bibliothèques qui sont compilées avec l'Application principale.

3
répondu 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 libre, je vous suggère JSmooth .

2
répondu Raghunandan 2016-04-25 04:19:52