web-dev-qa-db-fra.com

Comment convertir un fichier JAR à un fichier EXE?

Je souhaite créer un fichier JAR et l'exécuter sur un ordinateur client. J'ai quelques questions à poser:

  1. Comment convertir le fichier JAR à un fichier EXE?
  2. Comment chiffrer le contenu du fichier JAR? Le fichier jar peut être extrait avec WinRAR et les classes peuvent être décompilées avec n’importe quel décompilateur Java.
  3. Comment créer un programme d'installation? Mes clients ne disposent pas de machine virtuelle et je ne souhaite pas expédier JDK ou JRE, car leur taille est grande.
16
Freeman
  1. Voir ce lien: Java to Exe . Il explique également quelles sont les raisons valables de le faire et quand vous ne devriez pas.

  2. Vous ne pouvez pas vraiment chiffrer les fichiers binaires car la machine doit les comprendre. Cela dit, un exécutable optimisé est très difficile à décompiler, alors que les fichiers de classe simples sont plus simples.

  3. Si vous avez un exe, il y a assez d'installateurs.

17
extraneon

JSmooth est une application qui va emballer votre bocal dans un exe

il vous permet également de vérifier si la version correcte de JRE est disponible sur le système que vous déployez.

http://jsmooth.sourceforge.net/

9
Ganesh Shankar

Quant à 1): Je suppose que vous ne pouvez pas. Il existe peut-être des outils, mais vous ne pouvez pas le faire avec des outils standard fournis avec JDK, car cela détruirait l'indépendance de la plate-forme. (Voir les autres réponses fournissant des liens vers de tels outils tiers)

En ce qui concerne 3): utilisez InnoSetup pour créer le programme d'installation. Incluez JRE dans la configuration et laissez InnoSetup l'installer à la volée.

3
Thorsten Dittmar

Vous ne pouvez pas empêcher la décompilation. Le mieux que vous puissiez faire est de le rendre plus difficile ou plus long. Cependant, pour répondre à votre question, je pense que vous pouvez utiliser gcj pour compiler Java en fichiers EXE.

3
icktoofay

Peut-être Excelsior JET satisfera vos besoins.) IMHO produit très mature.

3
ponkin

1) J'ai récemment essayé le programme jarToExe et je l'aime bien . Certaines fonctionnalités sont:

  • version de base gratuite ou très bon marché (30 $) pour 'entreprise'
  • possibilité d'avoir le gestionnaire de tâches Windows lister le nom de votre application au lieu du Java.exe par défaut
  • obfuscation supplémentaire
  • vérifier à l'exécution que Java est installé

2) Vous pouvez rendre plus difficile l’ingénierie inverse en utilisant proguard ou un autre obfuscateur

3) nsis est un langage de script gratuit et très puissant pour la création d’installateurs Windows. Bonne documentation sur le site wiki et prise en charge du débordement de pile également.

2
brian_d

Launch4j a travaillé pour moi alors que certains outils n’avaient pas fonctionné. Il a aussi un bon guide ici .

J'espère que cette aide!

2
Huy Hóm Hỉnh

Nous utilisons un lanceur d’installation 7Zip SFX. Ceci est un outil simple open source. Il va emballer votre jar, une version de jre, de sorte qu'il n'est pas obligatoire que jre soit installé sur les systèmes d'installation et une version à extraction automatique de 7Zip. Voici un tutorial qui explique comment lier et GitHub link Le projet n'est pas maintenu mais fonctionne parfaitement (testé jusqu'à Java 1.8)

0
Pramod