30 votes

Lanceur d'exe Java avec support pour Windows 7

Le problème

Actuellement, j'utilise exe4j 4.4.2 pour envelopper notre application client dans un exécutable natif Windows, mais le résultat ne s'intègre pas si bien à Windows 7.

Par exemple : Lorsque je clique avec le bouton droit de la souris dans la barre des tâches, il ne propose qu'une fenêtre pop-up pour fermer l'application, mais pas d'épinglage. Le lanceur Equinox d'Eclipse, par contre, le fait avec bravade.

Je suis à la recherche d'un lanceur d'exe java qui a les caractéristiques suivantes :

  • Enveloppe les bocaux dans des exécutables natifs de Windows (pas de Java Web Start ou autre).
  • N'extrait pas le jar de l'exécutable
  • N'a pas besoin d'un accès en écriture dans "Program Files".
  • Utilise le nom du fichier exécutable comme nom de processus (un seul processus)
  • S'intègre bien à Windows 7 (notamment l'épinglage dans la barre des tâches).
  • Permet de définir les arguments de la JVM (notamment la taille du tas).
  • Personnalisation flexible de la recherche JRE
  • Léger
  • Maintenu activement
  • S'intègre bien dans la construction Ant
  • De préférence gratuit

J'ai vérifié les points suivants :

exe4j

  • Manque d'intégration de Windows 7
  • Ce n'est pas cher, mais la commande et la distribution des licences aux machines de construction est un casse-tête.
  • La recherche JRE n'est pas assez flexible

Eclipse Equinoxe

  • Pas de poids léger
  • Il semble faire tout ce que je veux, sauf que je n'ai aucune idée de la manière de l'utiliser avec une application non basée sur Eclipse. comment l'utiliser avec une application non basée sur Eclipse.
  • Puis-je l'utiliser en dehors du monde OSGI, PDE-Build ?

WinRun4J

  • La recherche JRE n'est pas bien documentée
  • Il semble qu'il ne soit pas très utilisé malgré ses incroyables fonctionnalités, qu'est-ce que j'ai manqué ?

Launch4J

  • Ne prend pas en charge la définition du nom du processus sous Windows 7 (ID de bogue 3353972). Il existe un correctif (ID de bogue 1670471) mais il a été rejeté en se référant à à jliftoff qui est mort.
  • Recherche JRE pas assez flexible.

JSmooth

  • Il ne semble pas être activement entretenu.
  • La dernière version date de 2007, bien avant Windows 7.

Existe-t-il d'autres options ? Est-il possible d'utiliser le lanceur Eclipse avec une application non basée sur Eclipse ?

3voto

Essayez Advanced Installer http://www.advancedinstaller.com/java.html (Il existe une édition gratuite disponible dans ce domaine).

1voto

djangofan Points 6046

Il me semble que vous devez opter pour Launch4J. Le nom du processus correspond au nom du fichier .exe que vous lancez. Un bon exemple d'un programme qui est enveloppé de cette façon est "Keystore Explorer 4.01".

1voto

a_horse_with_no_name Points 100769

Je suis satisfait de WinRun4J. La recherche de JRE fonctionne bien pour moi. Elle s'étrangle parfois, surtout sur les systèmes 64 bits, si plusieurs JRE et JDK sont installés et enregistrés dans le registre Windows, mais cela peut généralement être résolu en fournissant le chemin correct dans le fichier .ini correspondant.

Je n'ai pas utilisé Launch4J parce qu'il crée un nouveau .exe (temporaire) dans le dossier d'installation de JRE, ce qui me semble un peu étrange. L'avantage de cette méthode est qu'elle permet d'utiliser un seul fichier .exe pour les JVM 32 et 64 bits.

1voto

sethu Points 1978

Je créerais un fichier bat. Enveloppez ce fichier bat dans un exe. Vous pouvez créer un exe avec une icône et tout le reste. Essayez ce convertisseur de bat en exe :

http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

De cette façon, vous avez un meilleur contrôle. La taille de l'exe est très petite.

Edit : Aussi, la création de l'exe est une chose unique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X