Faire un install.exe et un programme.exe [JAVA] - Programmation
Marsh Posté le 09-01-2002 à 00:19:28
tu peux utiliser un compilateur natif mais c'est pu vraiment du Java. (va voir sur www.developpez.com)
Moi je te conseillerai plutot de faire un joli .jar : sous windows y a qu'à double-cliquer dessus pour lancer l'appli !
Marsh Posté le 09-01-2002 à 03:10:39
Merci Benou!
Bon jdois avouer que tes 2 réponses me mettent un peu ds le vent... Bouhou chui encore loin d'être un programmeur osi aguerri ke toua!
Mais j'ai bon espoir, après avoir lu pas mal de bouquins, jviens enfin de tomber sur un ki à l'ai vraiment très bon : "Java in a Nutshell"
J'y ai vu un chapitre traitant des .jar dont je ne connais pas encore la fonction. en fait, j'en manipule sans trop savoir ce que c'est. On m'a dit que c'était des sortes de .zip En fin, dans quelques chapitres, j'en serai plus!
Pour ce ki est des compilateurs natifs, je ne savais même pas ke cela existait... Enfin, le concept ne me parait pas idiot, ms c'est kan même dommage de perdre ainsi la portabilité du programme.
Je remet un post + tard si je capte pas le chapitre sur les .jar!
Merci, a+
Marsh Posté le 09-01-2002 à 08:21:59
Roco a écrit a écrit : Bonjour! Mais bon je voudrais savoir s'il est possible de faire un fichier qui se charge de faire une belle installation windows et un autre fichier .exe qui lance l'application sous windows. |
Salut Roco
C'est assez amusant parce que je suis justement en train de travailler là dessus. Si tu veux on peut le faire ensemble (tu as mon mail je pense). Concernant ta première question, je rejoins l'avis de benou concernant le Jar file. Cependant, il y a un autre manière.
Le logiciel que je développe actuellement (le truc en e-learning) à une structure du genre
webconf/bin
webconf/conf
webconf/lib
webconf/doc
où webconf est définis dans l'environnement par WEBCONF_HOME (ex: c:\webconf\)
Tu peux très bien créer un fichier batch qui lance ton programme de la façon suivante:
java -DWEBCONF_HOME=%WEBCONF_HOME% MonProgramme
Ton programme ensuite récupère cette valeur et va, par exemple, chercher un fichier de config dans le répertoire conf (il recoit WEBCONF_HOME=c:\webconf, il rajouter \conf\config.xml par exemple)
---> Ainsi tu peux spécifier tes params dans un fichier de config que tu peux éventuellement documenter (dans mon cas c'est le DTD du fichier XML qui est documenté).
En clair, soit tu fais un jar file, soit un batch. Mais si tu dois fournir des paramètres à ton prog de manière générale, je pense que ceci est une solution correcte (voir par exemple apache qui utilise ce genre de procédé)
Pour le fichier d'install maintenant: Il y a deux produits gratuits actuellement
L'installer de winamp: http://www.nullsoft.com/free/nsis/
Inno setup: http://www.jrsoftware.org/isinfo.htm
Perso je pense travailler avec le premier. Le second a l'air bcp plus simple (wizard pour créer ton installer, etc.) mais moins puissant.
Par exemple tu peux écrire dans la base de registres une clé correspondant au classpath et path de ton appli (Win NT/2000/XP) Ainsi, une fois le prog installé tu tapes le nom de ton fichier batch n'importe où et ca se lance ...
Pour la première partie (batch file) j'ai finalisé ca hier
Pour l'installer je regarde ajd
A+
Marsh Posté le 09-01-2002 à 08:22:40
benou a écrit a écrit : Moi je te conseillerai plutot de faire un joli .jar : sous windows y a qu'à double-cliquer dessus pour lancer l'appli ! |
Tiens j'ai une question à ce sujet. C'est dans le manifest du jar file que tu spécifies le main à executer je suppose. Y a moyen de passer des paramètres?
A+
Marsh Posté le 09-01-2002 à 08:24:23
Roco a écrit a écrit : Merci Benou! Mais j'ai bon espoir, après avoir lu pas mal de bouquins, jviens enfin de tomber sur un ki à l'ai vraiment très bon : "Java in a Nutshell" Pour ce ki est des compilateurs natifs, je ne savais même pas ke cela existait... Enfin, le concept ne me parait pas idiot, ms c'est kan même dommage de perdre ainsi la portabilité du programme. |
Pour les bouquins, une bonne référence est Thinking in Java 2nd edition par Bruce Eckel et disponible gratos sur son site www.BruceEckel.com
Pour la portabilité je trouve ta remarque un peu bête. Si tu crées un fichier exe, c'est normal que tu perds la portabilté du programme. Tu as déjà vu un exe sous linux ou solaris toi ?
A+
Marsh Posté le 09-01-2002 à 10:23:12
Roco a écrit a écrit : Mais bon je voudrais savoir s'il est possible de faire un fichier qui se charge de faire une belle installation windows et un autre fichier .exe qui lance l'application sous windows. |
Tu peux essayer Java2Exe, qui comme son nom l'indique convertit une appli java en exécutable Windows.
Tu le trouveras ici : http://www.duckware.com/java2exe.html
Personnellement, je ne l'ai jamais essayé (je ne suis pas fan de ce genre d'outils). Si tu tentes l'aventure, fais nous part de tes impressions
@+
Marsh Posté le 09-01-2002 à 11:35:02
Il ya a également InstallAnywhere qui genere des install et des exe a partir de programmes java. C'est un outil commercial utilisé un peut partout mais il existe une version gratuite je crois (InstallAnywhere Now!).
Ca se trouve ici : http://www.zerog.com
Marsh Posté le 09-01-2002 à 12:48:07
Bon ben maintenant je vais avoir du boulot pour essayer tout ça!
Je vais tenter le programme Java2Exe et le .jar
Sinon Dark, je crois que t'as solution de batch, c'est ni plus ni moins une version amélioré de ce que j'utilise actuellement, à savoir un fichier.bat :
echo off
cls
java Calculatrice
exit
et dans mes variables d'environement de Win 2K:
PATH=Djdk
CLASSPATH=.
En fait, si j'ai bien compris l'intérêt de ton install Dark, c'est de pouvoir, en plus de copier les fichier du programme sur le dique dur de l'utilisateur, pouvoir régler ces CLASSPATH ds sa base de registre?
Ou alors de pouvoir en ligne de commande dire au programme où se situe la variable d'environnement?
Marsh Posté le 09-01-2002 à 13:54:28
Bon alors des nouvelles du front
J'ai testé le programme proposé par iskream. J'ai mis environ 1/2 heure pour comprendre comment cela marchait, aie faut vraiment que je travaille mon anglais!
Alors c'est pas mal ça permet de créer un .exe, je n'est pas compris toutes le options, mais ça à l'air assez personnalisable (à savoir on peut mettre un icone de notre convenance pour le fichier.exe).
Le premier gros problème que j'ai décelé, c'est que quand vous double-cliquez sur le fichier.exe y'a en premier lieu un message d'alerte Windows qui vous dis que votre version de Java2exe n'est pas enregistré et qu'il faut le faire pour évitez l'appartion de ce message. Assez chiant, surtout quand on voit que ce shareware coûte 100$!
Sinon malgré une erreur lors de la création de mon fichier.exe, mon programme lancé avec le fichier.exe marchait parfaitement (il s'agissait d'une petite calculatrice en swing).
Voilà!
Donc le problème du message d'alerte est quand même assez chiant!
A+
Marsh Posté le 09-01-2002 à 14:33:59
Roco a écrit a écrit : Donc le problème du message d'alerte est quand même assez chiant! |
Le fait qu'une boite ou qu'un mec veuille se faire du fric avec un soft qu'il/elle a réalisé, je n'appelle pas ça un problème moi
En tout cas, merci pour ce retour d'informations.
Sinon, ce n'est pas le seul projet de ce type qui existe. Lance une recherche sur Google et tu devrais bien en trouver un gratuit
@+
Marsh Posté le 09-01-2002 à 14:52:16
Oui je suis entièrement d'accord avec toi!
Le problème c'est que moi je ne compte pas en faire une exploitation commerciale de son soft, donc 100$ c'est un peu cher.
Si ça continu, je vais lui envoyer un mail pour lui dire que je suis étudiant et que j'achète son soft 10 Euros si il est d'accord!
Bye!
Marsh Posté le 09-01-2002 à 15:08:47
Roco a écrit a écrit : Sinon Dark, je crois que t'as solution de batch, c'est ni plus ni moins une version amélioré de ce que j'utilise actuellement, à savoir un fichier.bat : En fait, si j'ai bien compris l'intérêt de ton install Dark, c'est de pouvoir, en plus de copier les fichier du programme sur le dique dur de l'utilisateur, pouvoir régler ces CLASSPATH ds sa base de registre? Ou alors de pouvoir en ligne de commande dire au programme où se situe la variable d'environnement? |
Absolument pas. Ma solution de batch file, comme tu dis, est obligatoire car nous faisons tourner le soft sur des stations solaris et linux. Pour nous, pas question de faire un exe.
Pour répondre à ton autre question, l'installer de winamp permet d'écrire dans la base de registres. Sous des noyaux NT, les variables d'environements se trouve dans la base de registre. Par conséquent lorque j'installe le soft dans un répertoire choisis de l'utilisateur, il met à jour le bat (WEBCONF_HOME\bin) et le classpath (WEBCONF_BIN\lib\webconf.jar; ...) et il crée la variable WEBCONF_HOME bien sur suivant le choix du user.
Il crée aussi un groupe de programmes. Le but, une fois installer tu cliques et c'est partis ...
Tu as déjà commencé à travailler pour l'installer? Si non j'ai déjà pas mal bossé sur NSIS ajd et j'ai un truc qui fonctionne (sauf l'enregistrement du path que je suis en train de faire)
A+
Marsh Posté le 09-01-2002 à 15:18:54
Nan là j'ai pas le temps de bosser dessus, j'ai des trucs plus urgents et plus chiants à faire...
Quand tu auras finaliser un programme d'installation, envoie-moi un mail pour me dire comment faire!
Bye!
Marsh Posté le 09-01-2002 à 15:26:31
Roco a écrit a écrit : Nan là j'ai pas le temps de bosser dessus, j'ai des trucs plus urgents et plus chiants à faire... Quand tu auras finaliser un programme d'installation, envoie-moi un mail pour me dire comment faire! Bye! |
Mon script NSI pour NSIS (winamp installer)
Code :
|
Marsh Posté le 09-01-2002 à 18:34:37
moi j en avait essayé a l epoque :
1)Install anywhere crée des excutable assez lourd (meme lorsque l exe ne contient pas la VM) po cool
2)=J to Exe>> pas evident a distribué et plutot lent tu doit obligatoirement mettre le jre ds le fichier d install celui ci n etant pas compressé ca devient lourd la encore
3)y a aussi Jet exislsor qui compile natif mais j ai jamais reussi a l installé...
jerry
Marsh Posté le 09-01-2002 à 18:40:32
bon ben chui un peu depassé la jToexe n est plus ce qu il etait a l epoque :avant y avait pas ce message qui s affichait deja (essaye d avoir une ancienne version) et puis maitenant l exe semble autonome c bien mais 100$ c excessif!
[edtdd]--Message édité par veryfree--[/edtdd]
Marsh Posté le 09-01-2002 à 19:20:45
Kool pour Java2exe, le mec (où la sté plutôt) me propose une version éducation à 50$!
Encore trop cher...
Marsh Posté le 09-01-2002 à 20:54:32
Si y'en a que ça interesse, on peut se payer une licence de Java2exe à plusieurs...
Marsh Posté le 10-01-2002 à 00:49:20
Roco a écrit a écrit : Si y'en a que ça interesse, on peut se payer une licence de Java2exe à plusieurs... |
ben c'est pas très légal ...
Marsh Posté le 10-01-2002 à 00:49:59
darklord22 a écrit a écrit : Pour les bouquins, une bonne référence est Thinking in Java 2nd edition par Bruce Eckel et disponible gratos sur son site www.BruceEckel.com |
en français : http://penserenjava.free.fr
Marsh Posté le 10-01-2002 à 00:54:55
darklord22 a écrit a écrit : Tiens j'ai une question à ce sujet. C'est dans le manifest du jar file que tu spécifies le main à executer je suppose. Y a moyen de passer des paramètres? |
ouais c'est ca : tu délares la classe dans laquelle trouver le main. je ne pense pas qu'on puisse déclarer de parametre dans le manifest. Ca aurait un intérêt limité vu qu'il faudrait décompresser le manifest, le modifier puir le réintégré au Jar ... autant mettre ces paramètres direct dans le main !
mais ce qui est possible c'est de faire un bat :
java -jar -DtonParametreSystem=taValeurSystem tonFichierJar.jar
ou bien comme ca avec les paramètres de ligne de commande :
java -jar tonFichierJar.jar param1 param2 param3
Marsh Posté le 08-01-2002 à 23:43:00
Bonjour!
Je m'excuse mais j'ai un peu la flemme de voir si cette question à été déjà soulevé dans ce forum... désolé!
Bon voilà mon problème, je dois fourni à mon professeur un programme en java.
Avant je zippais le répertoire du programme qui contenait tout les .class et le source .java et j'avais un fichier .bat (effectuant la commande "java programme" ) qui permettait de lancer le programme.
Mais bon je voudrais savoir s'il est possible de faire un fichier qui se charge de faire une belle installation windows et un autre fichier .exe qui lance l'application sous windows.
Voilà, et merci pour la lecture!