Compiler un programme java dans un exécutable [dupliquer]
7 réponses
vous pouvez convertir .fichier jar .exe sur ces chemins:
1- JSmooth .exe wrapper:
JSmooth est un Wrapper Java exécutable. 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. Quand aucune VM n'est disponible, l'emballage peut télécharger et installer automatiquement un JVM approprié, ou simplement afficher un message ou rediriger l'utilisateur vers un site web.
JSmooth fournit une variété d'emballages 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 pour convertir jar des dossiers dans des dossiers d'exe.
Voici les principales caractéristiques décrites dans leur site web:
- peut générer "Console", "GUI Windows", "Windows Service" trois types de fichiers exe.
- les fichiers exe générés 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é lorsque le programme tourne.
- fichiers exe générés fournir de l'icône de plateau de système de soutien. Les fichiers exe générés par
- fournissent un support pour le journal d'événements du système d'enregistrement.
- les fichiers Windows service exe générés sont en mesure d'installer/désinstaller lui-même, et le service de Soutien pause/continuer.
- nouvelle version de la version x64, peut créer des cadres 64 bits. (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
Empaquetez votre application Java comme un jar, et L'exécuteur transformera le jar en un fichier Windows exe, indiscernable d'une application native. Il suffit de double-cliquer le fichier exe va invoquer L'environnement Java Runtime et lancer votre application.
télécharger: http://mpowers.net/executor/
modifier: le lien ci-dessus est cassé, mais voici la page (avec le téléchargement de travail) 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 Windows MSI installe en quelques minutes. Ceci a également le soutien de Windows Vista et aide aussi à créer des paquets MSI dans d'autres langues.
Télécharger: http://www.advancedinstaller.com /
Faites-moi savoir les autres outils que vous avez utilisés pour convertir JAR en EXE.
J'utiliserais GCJ (GNU Compiler for Java) dans votre situation. C'est un compilateur AOT (à l'avance) pour Java, un peu comme GCC pour C. Au lieu d'interpréter le code, ou de générer du code java intermédiaire qui sera lancé plus tard par la VM Java, il génère du code machine.
GCJ est disponible sur presque tous les systèmes Linux par l'intermédiaire de son gestionnaire de paquets respectif (si disponible). Après l'installation, le compilateur GCJ doit être ajouté au chemin pour qu'il puisse être invoqué par 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 qui est destiné à être compilé, tel que C++. Java est censé être un langage portable, interprété. Le compiler en code machine est complètement contraire à ce pour quoi le langage a été développé.
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>
j'utilise habituellement un script bat pour ça. Voici ce que j'utilise habituellement:
@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 localisé. Cela permet à la chauve-souris de trouver les emplacements des bocaux sans exiger de variables d'environnement spéciales ni le réglage de la variable PATH.
EDIT: a ajouté des guillemets à la classpath. Autrement, comme Joey l'a dit," des choses amusantes peuvent se produire avec les espaces "
nous avons constaté que Jsmooth fonctionne bien et est facilement scriptable avec ant sous Linux. Vous voudrez peut-être utiliser un jar (aussi facilement scriptable avec ant sous Linux) pour collecter une application multifile dans un seul jar d'abord.
nous avions principalement besoin du déploiement facile de L'EXE combiné avec le" hey, you need Java version X, go here to download " installations.
(mais ce dont vous avez le plus besoin est le" JAR exécutable " / " JAR exécutable" facilité en Java standard).
La chose que vous pouvez faire est de créer un .bat qui exécutera le .jar fichier créé, vérifier si il y a un JRE présent.
De Mitch lien utile ( source )
java -classpath myprogram.jar de.vogella.eclipse.ide.first.MyFirstClass
peut être utilisé dans votre lot...
il y a une petite poignée de programmes qui font cela... TowerJ est un qui vient à l'esprit (je vais vous laisser Google pour elle), mais il 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 but.