2010-12-02 43 views
17

Je veux convertir un .jar en un .exe pour Microsoft. Y a-t-il un convertisseur de programme pour cela?Comment puis-je convertir un fichier .jar en .exe?

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

+0

Dupliquer question, essayez ici http://stackoverflow.com/questions/53845/java-compiler-options-to-produce-exe-files –

+6

@Steve Thats sur la façon d'utiliser GCJ (qui est terrible btw), pas sur les options disponibles. Mauvais doublon – TheLQ

+0

Il y a un lien intéressant dans les réponses avec une discussion sur le sujet, y compris le logiciel mentionné dans les réponses ici. –

Répondre

5

Si votre programme est "publicly available non-commercial in nature" and has "a publicly available Web site that meets the basic quality standards", vous pouvez essayer d'obtenir une licence gratuite d'Excelsior. Si ce n'est pas alors c'est cher, mais toujours une option viable.

Programme: https://www.excelsiorjet.com

Comme une note de côté: Voici une étude de tous Jar existant à EXE programmes, ce qui est un peu déprimant - https://www.excelsior-usa.com/articles/java-to-exe.html

+0

Correction: vous pouvez obtenir une licence gratuite Excelsior JET si votre projet est non commercial et accessible au grand public. Peu importe si c'est open source. –

+0

@Dmitry Ah merci, l'habitude pour moi d'avoir open source = public et gratuit. – TheLQ

4

Malgré cet être contre la politique générale SO sur ces questions, cela semble être ce que l'OP veut 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 d'un script approprié contenant la ligne unique:

java -jar MyJar.jar 

Ou dans de nombreux cas sur les fenêtres double-cliquant sur le fichier exécutable.

+0

Juste pour expliquer pourquoi j'ai posté un lien Google, avant les éditions @ David, la question d'origine OP a déclaré spécifiquement "S'il vous plaît ne pas me dire c'est stupide ou me demander pourquoi, juste me donner quelques liens." –

+0

Également discuté sur stackoverflow avant, ici: http://stackoverflow.com/questions/3754553/jar-hidden-inside-exe –

17

Launch4j fonctionne à la fois sur Windows et Linux/Mac. Mais si vous utilisez Linux/Mac, il existe un moyen d'intégrer votre pot dans un script shell qui effectue le lancement automatique pour vous, si vous avez 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 de votre pot:

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

Il fonctionne de la même façon launch4j fonctionne: car un pot a une zip format, qui est en-tête située à l'extrémité du fichier. Vous pouvez avoir n'importe quel en-tête que vous voulez (exécutable binaire ou, comme ici, script shell) et exécuter java -jar <myexe>, car <myexe> est un fichier zip/jar valide.

7

JSmooth .exe wrapper JSmooth est un wrapper Java exécutable. Il crée des lanceurs Windows natifs (.exe standard) pour vos applications Java. Il rend le déploiement de Java beaucoup plus facile et convivial, car il est capable de trouver n'importe quelle VM Java installée par lui-même. Lorsqu'aucune machine virtuelle 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é de wrappers pour votre application java, chacun d'entre eux ayant son propre comportement: Choisissez votre saveur!

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

JarToExe 1,8 Jar2Exe est un outil pour convertir des fichiers jar dans des fichiers exe. Voici les caractéristiques principales telles que décrites dans 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 l'icône 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 Windows exe de service générés sont capables d'installer/désinstaller lui-même, et de soutenir le service pause/continue. 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

Exécuteur Package votre application Java comme un pot, et Exécuteur se tourneront le pot dans un fichier exe de Windows, impossible à distinguer d'une application native. Il suffit de double-cliquer sur le fichier exe pour appeler Java Runtime Environment et lancer votre application.

+0

Avez-vous un lien vers Executor? Google retourne des choses sans rapport. – posfan12