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

possibilité de dupliquer:

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

je viens de faire un programme simple avec eclipse et je veux le compiler dans un exécutable, mais ne semble pas pouvoir trouver comment le faire. S'il vous plaît aider.

106
demandé sur Community 2010-01-06 11:21:58

7 réponses

vous pouvez convertir .fichier jar .exe sur ces chemins:

alt text

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.

124
répondu Sajad Bahmani 2017-02-08 14:19:08

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é.

31
répondu 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
répondu r3zn1k 2010-01-06 09:02:59

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 "

3
répondu Itay Maman 2017-11-25 17:04:36

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).

2
répondu 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 .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...

1
répondu Vincent B. 2010-01-06 08:43:58

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.

0
répondu Carl Smotricz 2010-01-06 08:24:48