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
gg
C'était juste pour info, puisque c'était l'interrogation de son premier
post.

Et du code machine, c'est toujours plus rapide, et plus "secure" que du code
"interpreté".
Voilà, sinon je suis d'accord avec toi, l'interêt du Java est d'être "cross"
plate-forme.

@+
GG


"Syrion" a écrit dans le message de news:
43d23b06$0$26400$
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







Avatar
David
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.



OK merci pour les infos,

a+
david


Avatar
jlp
"gg" a écrit dans le message de
news:43d3b7ef$0$19690$

C'était juste pour info, puisque c'était l'interrogation de son premier
post.

Et du code machine, c'est toujours plus rapide, et plus "secure" que du
code

"interpreté".
Encore une fois, java N'EST PAS un langage interprété, c'est un langage

compilé !

Avatar
David Noyelle
wrote in message
news:
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

Vincent


Salut,

Mon appli. fait seulement qq Ko mais ca m'interesserait de copier/installer
le JRE sur la machine cible, puis le rep. de l'appli...Tu utilises un batch
pour faire ca ? si oui comment ?

Il y a tjrs InstallAnywhere mais c'est payant...

Merci,

David

Avatar
gg
"jlp" a écrit dans le message de news:
dr1vd0$c5j$

"gg" a écrit dans le message de
news:43d3b7ef$0$19690$

C'était juste pour info, puisque c'était l'interrogation de son premier
post.

Et du code machine, c'est toujours plus rapide, et plus "secure" que du
code

"interpreté".
Encore une fois, java N'EST PAS un langage interprété, c'est un langage

compilé !



Je disais "interpreté" dans le sens où ce n'est pas un langage machine !
d'où la présence de guillemets.


GG


Avatar
Cédric Chabanois


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

GG

Il y a aussi gcj qui est libre.

Il sert par exemple à compiler sancho : http://sancho-gui.sourceforge.net/

Avatar
Cédric Chabanois
Et pourquoi pas compiler du java ?
Ca évite de distribuer le JRE avec l'appli et dans certains cas çà peut
être intéressant.


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








Avatar
Syrion
C'était juste pour info, puisque c'était l'interrogation de son premier
post.

Et du code machine, c'est toujours plus rapide, et plus "secure" que du code
"interpreté".
FAUX c'est l'inverse... devine quelle attaque n'est pas possible sur un

programme java ? Buffer-overflow par exemple, exécution sur la pile....
C'est justement l'intérêt d'une machine virtuelle

Avatar
Syrion

Je disais "interpreté" dans le sens où ce n'est pas un langage machine !
d'où la présence de guillemets.



Ben si c'est un langage machine pour la JVM ;)
Et puis depuis la JDK 1.2 et JIT (Just in Time COmpiler, au lancement de
ton appli Java 90% du code est compilé en code machine natif !

Avatar
Syrion

Et pourquoi pas compiler du java ?
Ca évite de distribuer le JRE avec l'appli et dans certains cas çà peut
être intéressant.



Et non justement tu dois filer toutes les DLL de la JRE avec ......

1 2 3