Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutab le
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutab le
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutab le
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
En fait ils sont programmés en java oui, mais pas totalement
Réponse un peu plus poussée, avec même un peu d'hors sujet pour la
culture g :
La technique des ces fameux stand-alone est simple : ils embarquent une
jvm à bord (ce n'est donc pas du natif à proprement parler)
Il faut donc créer le 1er maillon dans un langage compilant en natif. Ce
1er maillon se chargera de décompiler dans un repertoire temporaire la
jvm, le .jar du programme, et lancera ensuite le tout, pour enfin
nettoyer le tmp un fois l'application java terminée : en C j'arrive a
créer un fichier qui m'extrait la jvm à la volée dans un repertoire
temporaire, et qui lance mon .jar, lui aussi embarqué a bord de mon
executable, ca prend 1 seconde (je suis sous linux parcontre)
Le vrai "défi" est en revanche "comment minimiser la taille de la jvm au
maximum"
Je ne m'etais pas trop pris la tête, mais mon executable faisait 18Mo
(pour un jar de quelques ko !)
Les soft spécialisés dans le genre produisent des jvm de 5Mo, comment
font-elle ? je n'en sais rien, mon rt.jar de la jvm faisait déjà 39Mo
non compressé, 8 après compression (de mémoire), donc je ne vois pas
comment arriver à 5Mo, si ce n'est en parsant toutes les classes
utilisées par le .jar (via les api de reflection) et ainsi épurer le
rt.jar (qui est le plus gros fichier de la jvm)
Mais bon, si tu veux mon avis, un .exe (ou peut importe l'extension si
on est sous linux), c'est pas trop dans la philosophie de java.
Java c'est pas du natif, faut se faire une raison, alors après si c'est
pour empecher les décompilations sauvages, ca peut en freiner certains
si on ne diffuse un soft qu'en binaire, mais les ptits malins (sous
linux avec la commande fuser par exemple) sauront très vite s'apercevoir
où le programme décompresse ses fichiers temporaires et pourront dès
lors accéder au .jar
Donc pour en revenir au thread initial, je ne sais pas comment
fonctionne msvj++ (pas de windows), mais effectivement c'est possible de
créer des executable lancant des applis java
Voilà, en esperant t'avoir un peu éclairer
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
En fait ils sont programmés en java oui, mais pas totalement
Réponse un peu plus poussée, avec même un peu d'hors sujet pour la
culture g :
La technique des ces fameux stand-alone est simple : ils embarquent une
jvm à bord (ce n'est donc pas du natif à proprement parler)
Il faut donc créer le 1er maillon dans un langage compilant en natif. Ce
1er maillon se chargera de décompiler dans un repertoire temporaire la
jvm, le .jar du programme, et lancera ensuite le tout, pour enfin
nettoyer le tmp un fois l'application java terminée : en C j'arrive a
créer un fichier qui m'extrait la jvm à la volée dans un repertoire
temporaire, et qui lance mon .jar, lui aussi embarqué a bord de mon
executable, ca prend 1 seconde (je suis sous linux parcontre)
Le vrai "défi" est en revanche "comment minimiser la taille de la jvm au
maximum"
Je ne m'etais pas trop pris la tête, mais mon executable faisait 18Mo
(pour un jar de quelques ko !)
Les soft spécialisés dans le genre produisent des jvm de 5Mo, comment
font-elle ? je n'en sais rien, mon rt.jar de la jvm faisait déjà 39Mo
non compressé, 8 après compression (de mémoire), donc je ne vois pas
comment arriver à 5Mo, si ce n'est en parsant toutes les classes
utilisées par le .jar (via les api de reflection) et ainsi épurer le
rt.jar (qui est le plus gros fichier de la jvm)
Mais bon, si tu veux mon avis, un .exe (ou peut importe l'extension si
on est sous linux), c'est pas trop dans la philosophie de java.
Java c'est pas du natif, faut se faire une raison, alors après si c'est
pour empecher les décompilations sauvages, ca peut en freiner certains
si on ne diffuse un soft qu'en binaire, mais les ptits malins (sous
linux avec la commande fuser par exemple) sauront très vite s'apercevoir
où le programme décompresse ses fichiers temporaires et pourront dès
lors accéder au .jar
Donc pour en revenir au thread initial, je ne sais pas comment
fonctionne msvj++ (pas de windows), mais effectivement c'est possible de
créer des executable lancant des applis java
Voilà, en esperant t'avoir un peu éclairer
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
En fait ils sont programmés en java oui, mais pas totalement
Réponse un peu plus poussée, avec même un peu d'hors sujet pour la
culture g :
La technique des ces fameux stand-alone est simple : ils embarquent une
jvm à bord (ce n'est donc pas du natif à proprement parler)
Il faut donc créer le 1er maillon dans un langage compilant en natif. Ce
1er maillon se chargera de décompiler dans un repertoire temporaire la
jvm, le .jar du programme, et lancera ensuite le tout, pour enfin
nettoyer le tmp un fois l'application java terminée : en C j'arrive a
créer un fichier qui m'extrait la jvm à la volée dans un repertoire
temporaire, et qui lance mon .jar, lui aussi embarqué a bord de mon
executable, ca prend 1 seconde (je suis sous linux parcontre)
Le vrai "défi" est en revanche "comment minimiser la taille de la jvm au
maximum"
Je ne m'etais pas trop pris la tête, mais mon executable faisait 18Mo
(pour un jar de quelques ko !)
Les soft spécialisés dans le genre produisent des jvm de 5Mo, comment
font-elle ? je n'en sais rien, mon rt.jar de la jvm faisait déjà 39Mo
non compressé, 8 après compression (de mémoire), donc je ne vois pas
comment arriver à 5Mo, si ce n'est en parsant toutes les classes
utilisées par le .jar (via les api de reflection) et ainsi épurer le
rt.jar (qui est le plus gros fichier de la jvm)
Mais bon, si tu veux mon avis, un .exe (ou peut importe l'extension si
on est sous linux), c'est pas trop dans la philosophie de java.
Java c'est pas du natif, faut se faire une raison, alors après si c'est
pour empecher les décompilations sauvages, ca peut en freiner certains
si on ne diffuse un soft qu'en binaire, mais les ptits malins (sous
linux avec la commande fuser par exemple) sauront très vite s'apercevoir
où le programme décompresse ses fichiers temporaires et pourront dès
lors accéder au .jar
Donc pour en revenir au thread initial, je ne sais pas comment
fonctionne msvj++ (pas de windows), mais effectivement c'est possible de
créer des executable lancant des applis java
Voilà, en esperant t'avoir un peu éclairer
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des prog rès considérable :)
Je continue mes investigations ...
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des prog rès considérable :)
Je continue mes investigations ...
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des prog rès considérable :)
Je continue mes investigations ...
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des progrès
considérable :) Combien pèse le fichier rt.jar dans /lib ? C'est le jar
contenant la majorité des classes java
Il pèse 1.4 Mo ...
Autrement, bien qu'ayant expliqué que la majorité des softs connus ne
faisaient qu'embarquer une jvm, je n'exclu pas la possibilité de
compiler une sorte de code natif à partir d'un code java.
D'ailleurs, sous linux, le compilateur gcj le fait.
Sous Windows GCJ est sensé le faire aussi, et MingW idem, mais j'ai
Maintenant je ne suis pas un spécialiste windows, donc avis aux
amateurs :)Je continue mes investigations ...
ok tiens nous au courant
Wep :)
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des progrès
considérable :) Combien pèse le fichier rt.jar dans /lib ? C'est le jar
contenant la majorité des classes java
Il pèse 1.4 Mo ...
Autrement, bien qu'ayant expliqué que la majorité des softs connus ne
faisaient qu'embarquer une jvm, je n'exclu pas la possibilité de
compiler une sorte de code natif à partir d'un code java.
D'ailleurs, sous linux, le compilateur gcj le fait.
Sous Windows GCJ est sensé le faire aussi, et MingW idem, mais j'ai
Maintenant je ne suis pas un spécialiste windows, donc avis aux
amateurs :)
Je continue mes investigations ...
ok tiens nous au courant
Wep :)
Je viens de regarder dans mon Program Files, et j'ai trouvé un logiciel
commercial écrit en Java qui tourne avec sa JRE, et cette JRE fait ...
moins de 3 Mo ! En fait c'est la version 1.1.6, mais je ne sais pas si
elle est complète ou s'il manque des bouts, a priori je dirais qu'elle
est entière.
3Mo ?? Je doute qu'elle soit entière, ou alors Java 2 a ammené des progrès
considérable :) Combien pèse le fichier rt.jar dans /lib ? C'est le jar
contenant la majorité des classes java
Il pèse 1.4 Mo ...
Autrement, bien qu'ayant expliqué que la majorité des softs connus ne
faisaient qu'embarquer une jvm, je n'exclu pas la possibilité de
compiler une sorte de code natif à partir d'un code java.
D'ailleurs, sous linux, le compilateur gcj le fait.
Sous Windows GCJ est sensé le faire aussi, et MingW idem, mais j'ai
Maintenant je ne suis pas un spécialiste windows, donc avis aux
amateurs :)Je continue mes investigations ...
ok tiens nous au courant
Wep :)
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
Qu'en est il vraiment ? Car il me semble pourtant avoir déjà vu des
logiciels programmés en Java donnés sous forme d'un unique exécutable
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
O.L. wrote:Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
de faire des EXE à partir de classes Java. Evidemment, si c'est pour faire
un programme OpenSource distribué gratuitement, ça va pas le faire...
Une ch'tite recherche dans google m'a ramené ça :
http://www.excelsior-usa.com/landing/jet-nc.html
Christophe
Peut etre comme l'a suggere un autre lecteur que tu peux utiliser GCJ
O.L. wrote:
Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
de faire des EXE à partir de classes Java. Evidemment, si c'est pour faire
un programme OpenSource distribué gratuitement, ça va pas le faire...
Une ch'tite recherche dans google m'a ramené ça :
http://www.excelsior-usa.com/landing/jet-nc.html
Christophe
Peut etre comme l'a suggere un autre lecteur que tu peux utiliser GCJ
O.L. wrote:Il pèse 1.4 Mo ...
J'ai fait un dump complet de sa structure :
http://olivier.ligny.free.fr/rt-list.zip (html zippé).
Effectivement, depuis il y a eu pas mal de changement depuis l'avènement
de Java 2... Pour commencer il y a eu swing :)
Ensuite il manque clairement 20 millions de classes dans ce rt.jar, donc
cette version light de jre ne conviendrait très probablement pas dans
95% des cas pour un programme moderne ecrit avec java 2, 100% dès lors
que swing serait utilisé pour la gui
Bref, bonne chance pour la suite
Merci :)
A part ça, il existe dans le commerce des produits propriétaires permettant
de faire des EXE à partir de classes Java. Evidemment, si c'est pour faire
un programme OpenSource distribué gratuitement, ça va pas le faire...
Une ch'tite recherche dans google m'a ramené ça :
http://www.excelsior-usa.com/landing/jet-nc.html
Christophe
Peut etre comme l'a suggere un autre lecteur que tu peux utiliser GCJ