OVH Cloud OVH Cloud

Generation d'un executable

23 réponses
Avatar
David Noyelle
Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui n'est
pas vraiment pratique a lancer (un batch pour fixer les PATH et lancer le
prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne retrouve
pas forcement les PATH de JDK sur differentes machines (ayant une JVM
installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,

--
David NOYELLE
davidnoyelle chez yahoo point fr

10 réponses

1 2 3
Avatar
O.L.
Le 19/01/2006, David Noyelle a supposé :
Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui n'est
pas vraiment pratique a lancer (un batch pour fixer les PATH et lancer le
prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne retrouve
pas forcement les PATH de JDK sur differentes machines (ayant une JVM
installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,


Il n'y a pas que J2Exe, il en existe énormément !
Je te conseille d'en essayer plusieurs et tu devrais finir par trouver
ton bonheur.

Pour info, les programmes capables de générer du code .exe natif à
partir de classes Java sont très très rares, donc si tu cherches "java
compiler exe" ou "java launcher exe" sur Google, tu devrais tomber sur
quasiment uniquement les launchers que tu cherches (ils ne compilent
pas, ils empaquettent).

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
alexandre cartapanis
Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui n'est
pas vraiment pratique a lancer (un batch pour fixer les PATH et lancer le
prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne retr ouve
pas forcement les PATH de JDK sur differentes machines (ayant une JVM
installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,

A mon avis, plutot que de transformer ton code en .exe, il vaudrait

mieux utilisé un outil permettant de lancer une application Java par un
exe. La fondation apache notamment fournit un outil de ce genre, mais il
est possible de s'inspirer de celui d'eclipse, de jext, ...
L'avantage est notamment de conserver la portabilité de ton appli, tout
en gardant le coté "exe".


--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
Syrion

Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui n'est
pas vraiment pratique a lancer (un batch pour fixer les PATH et lancer le
prog...)


FAUX ! Si tu as un jar, il n'y abesoin d'AUCUN batch pour fixer le
CLASSPATH.
Si tu as bien fais ton jar, tu double-clique dessus et il se lance comme
un exe !

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne retrouve
pas forcement les PATH de JDK sur differentes machines (ayant une JVM
installee bien-sur...)
... Donc s'il vaut en plus une JVM, aucun intérêt ! autant

double-cliquer sur le jar !

Savez-vous comment faire ?

Merci d'avance,



Avatar
vc.spam
Salut,

Je suis assez d'accord avec Syrion, rien n'oblige à faire une exe pour
un lancement propre.

dans le manifest de ton jar tu met le classpath et la classe principale

Manifest-Version: 1.0
Main-Class: com.taboite.app.ClassePrincipale
Class-Path: ../lib/LibDebug.jar ../lib/jh.jar ../usermanual/

Et tu le lances comme ça:

javaw -jar monjar.jar [mes...argument...si...utile]

Perso pour la JVM, je copie le répertoire jre du j2SDK sur la machine
cible. Pour une petite appli, c'est encombrant, mais la mienne fait
plusieurs Go, donc pas grave...
Généralement j'ai 4 répertoires dans celui d'install de mon soft:
bin
jre
lib
usermanual

et ma ligne de commande donne ça:
..jrejavaw.exe -jar monjar.jar [mes...argument...si...utile]
à éxécuter dans bin

Je claque ça dans le raccourcis et après, ça fonctionne comme si
c'était un exe autonome...


Voilà,

A+

Vincent
Avatar
David Noyelle
Salut,

OK merci pour vos reponses, je vais voire ce qui me convient le mieux.

a+
David

wrote in message
news:
Salut,

Je suis assez d'accord avec Syrion, rien n'oblige à faire une exe pour
un lancement propre.

dans le manifest de ton jar tu met le classpath et la classe principale

Manifest-Version: 1.0
Main-Class: com.taboite.app.ClassePrincipale
Class-Path: ../lib/LibDebug.jar ../lib/jh.jar ../usermanual/

Et tu le lances comme ça:

javaw -jar monjar.jar [mes...argument...si...utile]

Perso pour la JVM, je copie le répertoire jre du j2SDK sur la machine
cible. Pour une petite appli, c'est encombrant, mais la mienne fait
plusieurs Go, donc pas grave...
Généralement j'ai 4 répertoires dans celui d'install de mon soft:
bin
jre
lib
usermanual

et ma ligne de commande donne ça:
..jrejavaw.exe -jar monjar.jar [mes...argument...si...utile]
à éxécuter dans bin

Je claque ça dans le raccourcis et après, ça fonctionne comme si
c'était un exe autonome...


Voilà,

A+

Vincent
Avatar
Thoren
Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui n'est
pas vraiment pratique a lancer (un batch pour fixer les PATH et lancer le
prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne retrouve
pas forcement les PATH de JDK sur differentes machines (ayant une JVM
installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,

As tu essaye install anywhere ?


Avatar
David Noyelle
FAUX ! Si tu as un jar, il n'y abesoin d'AUCUN batch pour fixer le
CLASSPATH.
Si tu as bien fais ton jar, tu double-clique dessus et il se lance comme
un exe !


effectivement c'est plus pratique. Ca fonctionne bien mais une image a
disparue et l'apparence (LooknFeel ?) n'est pas tjrs le meme sur ttes les
machines. On peux fixer ca en precisant les PATH dans le manifest ?

merci,

David

Avatar
Syrion

effectivement c'est plus pratique. Ca fonctionne bien mais une image a
disparue et l'apparence (LooknFeel ?) n'est pas tjrs le meme sur ttes les
machines. On peux fixer ca en precisant les PATH dans le manifest ?
Le look&feel : normal, mais tu as les moyens de le fixer.

Voici les comportements habituels du look&feel Java :
- AWT : pas de L&F, appels natifs au Window Manager de ton système
(Windows sous Windows, GTK ou GNOME selon la distrib Linux, CDE Motif
sous la pluspart des UNIX, etc....
- Swing : sous windows : il existe 3 look&feel installés par défaut :
Metal (par défaut), Windows et Motif. Le premier est le L&F Java par
excellence, le second donne l'apparence de Windows, le 3ème l'apparence
Motid des systèmes UNIX.
sous Linux : Metal (par défaut), Motif, GTK lorsque la
distrib le supporte.
sous UNIX : Metal, Motif (par défaut).
sous MacOS X : Metal, Motif, Aqua. Je ne connais pas le
thème par défaut mais je conseille Aqua qui reste le + beau (c'est
l'apparence de Mac OS X avec des beaux bleu, des jeux de reflets et
transparence partout, plagié par le vilain thème Aero de Windows Vista)
- A partir de Java 1.5, il existe sur toutes les plate-formes un
look&feel assez compliqué pour les débutants : le lookéfeel skinnable et
totalement customisable !

Metal étant LE L&F Java cross-platform, il est à utiliser et à forcer
pour obtenir même apparence qque soit le système.

Cf Javadoc pour :
- récupérer la liste des Look&Feel disponibles à l'exécution
- choisir un look&feel
- le mettre en place avant de lancer l'interface graphique
- le mettre en place alors que l'interface est déjà lancée (avec
techniques subtiles de rafraîchissement pour les menus)
- installer en runtime des L&F téléchargés (je crois que GTK existe
pour windows mais je dis peut-être des conneries, à vérifier)(tu mets le
jar dans le classpath, tu dit à Java d'installer le L&F, et Hop, il sort
ensuite parmis la liste des L&F dispos!)

Même si j'ai donné les L&F que je connaissais pouor chaque système, je
peu m'être gouté, donc c'est l'API Java qui ferafois (méthode retournant
la liste des L&F dispos).


merci,

David

Remarque : sous windows, double-cliquer sur un .jar avec une JRE bien

installée lance automatiquement javaw -jar
lefichiersurlequelgcliqué.jar, donc pas besoin de raccourci.

Avatar
gg
"David Noyelle" a écrit dans le message de news:
43cfd729$0$2259$
Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui
n'est pas vraiment pratique a lancer (un batch pour fixer les PATH et
lancer le prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne
retrouve pas forcement les PATH de JDK sur differentes machines (ayant une
JVM installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,

--
David NOYELLE
davidnoyelle chez yahoo point fr



Pour info, un programme permettant de compiler du java en code natif :
www.excelsior-usa.com

GG

Avatar
Syrion
Mais arrêtez de vouloir compiler du Java, JIT le fait au lancement et si
ça vous plait pas passez au C++ !
non mais :p

"David Noyelle" a écrit dans le message de news:
43cfd729$0$2259$

Bonjour,

j'aimerai generer un executable Java ".exe" a partir des sources ou des
classes. Pour l'instant mon prog. est sous forme d'archive JAR, ce qui
n'est pas vraiment pratique a lancer (un batch pour fixer les PATH et
lancer le prog...)

Je crois qu'il existe J2EXE, mais une fois genere, l'executable ne
retrouve pas forcement les PATH de JDK sur differentes machines (ayant une
JVM installee bien-sur...)

Savez-vous comment faire ?

Merci d'avance,

--
David NOYELLE
davidnoyelle chez yahoo point fr




Pour info, un programme permettant de compiler du java en code natif :
www.excelsior-usa.com

GG






1 2 3