web-dev-qa-db-fra.com

Comment convertir un .jar en .exe?

Je veux convertir un .jar à un .exe pour Microsoft. Existe-t-il un convertisseur de programme pour cela?

Aussi, s'il y en a un pour Mac et Linux, j'apprécierais également des suggestions pour ceux-ci.

30
Negrodamus12

Launch4j fonctionne sur Windows et Linux/Mac. Mais si vous utilisez Linux/Mac, il existe un moyen d'incorporer votre jar dans un script Shell qui exécute le lancement automatique pour vous, vous n'avez donc qu'un seul fichier exécutable:

exestub.sh:

#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt  0 -a -f "$0" ] && MYSELF="./$0"
Java_OPT=""
PROG_OPT=""
# Parse options to determine which ones are for Java and which ones are for the Program
while [ $# -gt 0 ] ; do
    case $1 in
        -Xm*) Java_OPT="$Java_OPT $1" ;;
        -D*)  Java_OPT="$Java_OPT $1" ;;
        *)    PROG_OPT="$PROG_OPT $1" ;;
    esac
    shift
done
exec Java $Java_OPT -jar $MYSELF $PROG_OPT

Ensuite, vous créez votre fichier exécutable à partir de votre pot:

$ cat exestub.sh myrunnablejar.jar > myrunnable
$ chmod +x myrunnable

Cela fonctionne de la même manière que launch4j: parce qu'un pot a un format Zip , dont l'en-tête est situé à la fin du fichier. Vous pouvez avoir n'importe quel en-tête de votre choix (exécutable binaire ou, comme ici, script Shell) et exécuter Java -jar <myexe>, comme <myexe> est un fichier Zip/jar valide.

29
Matthieu

Wrapper JSmooth .exe

JSmooth est un Java wrapper exécutable. Il crée des lanceurs Windows natifs (.exe standard) pour vos applications Java. Il 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. Lorsqu'aucune VM n'est disponible, l'encapsuleur peut automatiquement télécharger et installer une machine virtuelle Java appropriée, 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 saveur!

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

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

Peut générer "Console", "Windows GUI", "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é 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 prennent en charge le journal des événements du système d'enregistrement. Les fichiers .exe générés du service Windows peuvent s'installer/se désinstaller et prendre en charge le service pause/continue.

Exécuteur

Empaquetez votre application Java sous forme de fichier jar et Executor transformera le fichier jar en un fichier Windows .exe, impossible à distinguer d'une application native. Double-cliquez simplement sur le fichier .exe pour appeler l'environnement d'exécution Java et lancer votre application.

12
Monny

Si votre programme est "de nature non commerciale accessible au public" et possède "un site Web accessible au public qui répond aux normes de qualité de base" , alors vous pouvez essayer d'obtenir une licence gratuite d'Excelsior. Si ce n'est pas le cas, c'est cher, mais c'est toujours une option viable.

Programme: https://www.excelsiorjet.com

En remarque: voici une étude de tous les programmes Jar to EXE existants, ce qui est un peu déprimant - https://www.excelsior-usa.com/articles/Java-to-exe.html

5
TheLQ

Bien que cela soit contraire à la politique générale SO sur ces questions, cela semble être ce que le PO souhaite vraiment:

http://www.google.com/search?btnG=1&pws=0&q=Java+executable+wrapper

Si vous le souhaitez, vous pouvez également essayer de créer le fichier batch ou script approprié contenant la seule ligne:

Java -jar MyJar.jar

Ou dans de nombreux cas sur Windows, double-cliquez simplement sur le fichier exécutable.

4
Tim Bender