Compiler un programme java dans un exécutable [dupliquer]


Double Possible:
Comment puis-je créer un .exe pour un programme Java?

Je viens de créer un programme simple avec eclipse et je veux le compiler dans un exécutable, mais je n'arrive tout simplement pas à savoir comment le faire. S'il vous plaît aider.

Author: Community, 2010-01-06

7 answers

Vous pouvez convertir .fichier jar à.exe sur ces moyens:

1- JSmooth .exe wrapper:
JSmooth est un wrapper exécutable Java. Il crée des lanceurs Windows natifs (standard .exe) pour vos applications java. Il 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. Lorsqu'aucune machine virtuelle n'est disponible, le wrapper peut automatiquement télécharger et installer une JVM appropriée, ou simplement afficher un message ou rediriger l'utilisateur vers un site Web site.

JSmooth fournit une variété de wrappers pour votre application java, chacun ayant son propre comportement: Choisissez votre saveur!

Télécharger: http://jsmooth.sourceforge.net/

2- JarToExe 1.8
Jar2Exe est un outil pour convertir des fichiers jar en fichiers exe. Voici les principales caractéristiques décrites dans leur site Web:

  • Peut générer "Console", "Windows GUI", "Windows Service" trois types de fichiers exe.
  • exe généré les fichiers peuvent ajouter des icônes de programme et des informations de version.
  • Les fichiers exe générés peuvent crypter et protéger les programmes java, aucun fichier temporaire ne sera généré lors de l'exécution du programme.
  • Les fichiers exe générés prennent en charge les icônes de la barre d'état système.
  • Les fichiers exe générés fournissent la prise en charge du journal des événements du système d'enregistrement.
  • Les fichiers exe de service Windows générés peuvent s'installer/désinstaller et prendre en charge la pause/la poursuite du service.
  • Nouvelle version de la version x64, peut créer 64 bits cadres. (18 mai 2008)
  • Le mode assistant et le mode ligne de commande sont pris en charge. (18 mai 2008)

Télécharger: http://www.brothersoft.com/jartoexe-75019.html

3- Exécuteur testamentaire
Emballez votre application Java en tant que jar, et Executor transformera le jar en un fichier exe Windows, indiscernable d'une application native. Il suffit de double-cliquer sur le fichier exe pour appeler l'environnement d'exécution Java et lancer votre application.

Télécharger: http://mpowers.net/executor/

EDIT: Le lien ci-dessus est cassé, mais voici la page (avec téléchargement fonctionnel) de l'archive Internet. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/

4- Programme D'Installation Avancé
Advanced Installer vous permet de créer des installations Windows MSI en quelques minutes. Cela prend également en charge Windows Vista et permet également de créer des packages MSI dans d'autres langues.
Télécharger: http://www.advancedinstaller.com / Faites-moi savoir d'autres outils que vous avez utilisés pour convertir JAR en EXE.

 124
Author: Sajad Bahmani, 2017-02-08 14:19:08

J'utiliserais GCJ (compilateur GNU pour Java) dans votre situation. C'est un compilateur AOT (à l'avance) pour Java, tout comme GCC l'est pour C. Au lieu d'interpréter du code ou de générer du code java intermédiaire à exécuter ultérieurement par la machine virtuelle Java, il génère du code machine.

GCJ est disponible sur presque tous les systèmes Linux via son gestionnaire de paquets respectif (si disponible). Après l'installation, le compilateur GCJ doit être ajouté au chemin afin qu'il puisse être appelé via le terminal. Si vous utilisez Windows, vous pouvez télécharger et installer GCJ via Cygwin ou MinGW.

Je recommande fortement, cependant, que vous réécriviez votre source pour un autre langage destiné à être compilé, tel que C++. Java est censé être un langage portable et interprété. Le compiler en code machine est complètement contraire à ce pour quoi le langage a été développé.

 31
Author: jakogut, 2010-01-06 08:41:42

J'utilise launch4j

Commande ANT:

<target name="jar" depends="compile, buildDLLs, copy">
    <jar basedir="${java.bin.dir}" destfile="${build.dir}/Project.jar" manifest="META-INF/MANIFEST.MF" />
</target>

<target name="exe" depends="jar">
    <exec executable="cmd" dir="${launch4j.home}">
        <arg line="/c launch4jc.exe ${basedir}/${launch4j.dir}/L4J_ProjectConfig.xml" />
    </exec>
</target>
 17
Author: r3zn1k, 2010-01-06 09:02:59

J'utilise généralement un script bat pour cela. Voici ce que j'utilise généralement:

@echo off
set d=%~dp0
java -Xmx400m -cp "%d%myapp.jar;%d%libs/mylib.jar" my.main.Class %*

Le %~dp0 extrait le répertoire où le .bat est situé. Cela permet à la bat de trouver les emplacements des jars sans nécessiter de variables d'environnement spéciales ni le réglage de la variable PATH.

EDIT: Ajout de guillemets au chemin de classe. Sinon, comme l'a dit Joey,"des choses amusantes peuvent se produire avec des espaces"

 3
Author: Itay Maman, 2017-11-25 17:04:36

Nous avons trouvé que Jsmooth fonctionnait bien et était facilement scriptable avec ant sous Linux. Vous voudrez peut-être utiliser one-jar (également facilement scriptable avec ant sous Linux) pour collecter d'abord une application multifile dans un seul jar.

Nous avions principalement besoin du déploiement facile de l'EXE combiné avec les fonctionnalités "hey, vous avez besoin de Java version X, allez ici pour télécharger".

(mais ce dont vous avez probablement besoin, c'est de la fonction "Jar exécutable" / "Jar exécutable" en Java standard).

 2
Author: Thorbjørn Ravn Andersen, 2010-01-06 09:41:08

La chose que vous pouvez faire est de créer un .bat qui exécutera le .fichier jar créé, vérifiant s'il y a un JRE présent.

De Mitch lien utile (source)

java -classpath myprogram.jar de.vogella.eclipse.ide.first.MyFirstClass

Cela peut être utilisé dans votre lot...

 1
Author: Vincent B., 2010-01-06 08:43:58

Il y a une petite poignée de programmes qui le font... TowerJ est celui qui vient à l'esprit (je vais vous laisser Google pour cela) mais cela coûte beaucoup d'argent.

La référence la plus utile pour ce sujet que j'ai trouvé est à: http://mindprod.com/jgloss/nativecompiler.html

Il mentionne quelques autres produits, et des alternatives pour atteindre le même objectif.

 0
Author: Carl Smotricz, 2010-01-06 08:24:48