Duplicate possible:
Comment créer un fichier .exe pour un programme Java?
Je viens de créer un programme simple avec Eclipse et je souhaite le compiler dans un exécutable, mais je n'arrive tout simplement pas à trouver comment le faire. S'il vous plaît aider.
Vous pouvez convertir le fichier .jar en .exe de ces manières:
(source: viralpatel.net )
1- wrapper JSmooth .exe:
JSmooth est un wrapper Java exécutable. Il crée des lanceurs Windows natifs (.exe standard) pour vos applications Java. Cela rend le déploiement de Java beaucoup plus fluide et convivial, car il est capable de trouver tout Java VM installé par lui-même. En l'absence de VM, l'encapsuleur peut télécharger et installer automatiquement une machine virtuelle Java appropriée, ou simplement afficher un message ou rediriger l'utilisateur vers un site Web.
JSmooth fournit une variété de wrappers pour votre application Java, chacun ayant son propre comportement: choisissez votre goût!
Télécharger: http://jsmooth.sourceforge.net/
2- JarToExe 1.8
Jar2Exe est un outil permettant de convertir des fichiers jar en fichiers exe. Voici les principales caractéristiques décrites sur leur site Web:
Téléchargement: http://www.brothersoft.com/jartoexe-75019.html
3- Exécuteur
Créez un package dans votre application Java sous la forme d'un fichier jar. Executor transforme le fichier jar en un fichier exe Windows, indiscernable d'une application native. Double-cliquez simplement 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 en cours de travail) des archives Internet. http://web.archive.org/web/20090316092154/http://mpowers.net/executor/
4- Installateur 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.
Download: http://www.advancedinstaller.com/ Informez-moi des autres outils que vous avez utilisés pour convertir le fichier JAR en fichier EXE.
J'utiliserais GCJ (compilateur GNU pour Java) dans votre cas. C'est un compilateur AOT (en avance) pour Java, un peu comme GCC est pour C. Au lieu d'interpréter le code, ou de générer du code intermédiaire Java à exécuter ultérieurement par le Java. _ VM, 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.
Cependant, je vous recommande fortement de réécrire votre source pour un autre langage censé être compilé, tel que C++. Java est censé être un langage interprété portable. Le compiler en code machine va totalement à l'encontre de l'objectif du langage.
J'utilise launch4j
ANT Command:
<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>
J'utilise habituellement un script chauve-souris 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 dans lequel se trouve le .bat. Cela permet à la chauve-souris de trouver les emplacements des bocaux sans requérir de variables d’environnement spéciales ni le réglage de la variable PATH.
EDIT: Ajout de citations au classpath. Sinon, comme dit Joey, "des choses amusantes peuvent se produire avec des espaces"
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 multi-fichiers dans un seul jar.
Nous avions avant tout besoin du déploiement facile du fichier EXE associé à la fonctionnalité "hé, il vous faut 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).
Ce que vous pouvez faire est de créer un fichier .bat qui exécutera le fichier .jar créé, en vérifiant si un JRE est présent.
De Mitch lien utile ( source )
Java -classpath myprogram.jar de.vogella.Eclipse.ide.first.MyFirstClass
Cela peut être utilisé dans votre lot ...
Il y a une petite poignée de programmes qui font cela ... TowerJ en est un qui me vient à l'esprit (je vous laisse Google), mais cela coûte beaucoup d'argent.
La référence la plus utile pour ce sujet que j'ai trouvé est la suivante: http://mindprod.com/jgloss/nativecompiler.html
il mentionne quelques autres produits et des alternatives pour atteindre le même objectif.