IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[ Variable environnement ] Version java


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut [ Variable environnement ] Version java
    Bonjour,

    Je voudrais savoir s'il existait une astuce afin de connaitre la version de java par un script non java.

    Je m'explique. Je viens de terminer une appli java. Je souhaite la distribuer. Pour cela, j'utilise le jar executabe, qui s'appui sur la JVM installée sur le pc client.

    J'ai par ailleurs utilisé un installeur qui créé un setup afin que la distribution du logiciel sur des postes mutliples soit aisée.

    Cependant, je souhaite faire un script qui lit la version du java installée sur la machine cliente (semblable au java -version de la cmd). Le but étant de lancer l'install de la JRE adaptée si la version de la machine cliente n'est pas convenable.

    Cependant, je ne peux pas faire cela en java. Serait il possible de le faire par un batch windows ?

    Merci de vos réponses.

  2. #2
    Membre expérimenté Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Par défaut
    on doit pouvoir trouver cela en attaquant la base de registre non?
    Par contre sous linux ou mac je ne sais pas du tout

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    beh un batch ou un script shell lançant java -version puis analysant le retour en courtcircuitant la sortie standard et lançant les opérations nécéssaires

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    merci sinok, c'est ce que je veux faire, mais je cherche un exemple.

    je suis sous windows. Faire un batch avec dedans un "java -version > toto.txt" me parait simple. Mais apres, il reste a analyser le fichier... Comment le faire en batch ?

    Sinon, je pensais oui a attaquer la base de registre, mais ou trouver la clé et comment l'attaquer ?

  5. #5
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    la méthode exec de la classe Runtime te retourne un objet de type Process.
    Il y a la méthode getInputStream de Process pour récupérer la sortie standard.
    --> Tu n'as pas besoin de rediriger le résultat de la commande dans un fichier puis de lire ce fichier.

    j'ai répondu pas plus tard qu'hier soir à un problème similaire...

  6. #6
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par iohack
    la méthode exec de la classe Runtime te retourne un objet de type Process.
    Il y a la méthode getInputStream de Process pour récupérer la sortie standard.
    --> Tu n'as pas besoin de rediriger le résultat de la commande dans un fichier puis de lire ce fichier.

    j'ai répondu pas plus tard qu'hier soir à un problème similaire...
    Oui sauf qu'il ne veut pas faire ça en java:

    Citation Envoyé par lhpp
    Cependant, je souhaite faire un script qui lit la version du java installée sur la machine cliente (semblable au java -version de la cmd). Le but étant de lancer l'install de la JRE adaptée si la version de la machine cliente n'est pas convenable.
    Faut lire la question en entier avant de répondre.

    @lhpp tu devrais poster ta question sur le forum Windows, Système et Logiciel pour l'utilisation des batchs.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    iohack, effectivement, je ne veux pas le faire en java. Tout simplement car s'il faut une version de JRE particuliere pour mon application, et qu'aucune version n'est installée, comment vais pouvoir utiliser la méthode Exec de Runtie si je ne peux meme pas lancer de jar en l'absence de JRE ?????

    "Merci de lire mon premier commentaire", comme l'a dit Descent!!!!

    Merci Descent pour la redirection vers une autre partie du forum, j'avoue qu'en validant mon premier post, je me demandait si finalement c'etait le meilleur endroit...

  8. #8
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Oui sauf que pas plus tard qu'hier j'ai moi-aussi fauté de la même manière. Faudrait que je commence par appliquer moi même les conseils que je donne.

  9. #9
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    En fait, ce qu'il te faut faire (en tout cas, ce que moi j'ai fait dans ton cas), ce n'est pas un batch qui va gérer l'affaire après l'installation, mais tout simplement utiliser ton utilitaire d'installation (nous on utilise Wise, je ne sais pas toi...) pour aller vérifier dans ton registre la clé HKEY_LOCAL_MACHINE/Software/JavaSoft/Java Runtime Environment et c'est le champ CurrentVersion qui va t'intéresser. Ce champ là va te renvoyer la version majeure de Java installée sur ta machine (genre 1.4) ensuite, si tu veux aussi connaître les sous-versions, il te faut tester (en fonction de la valeur que tu viens de récupérer) la clé MicroVersion présente dans le sous-dossier du même nom... (c'est pas super clair là j'ai l'impression !)
    Si tu as une version 1.4 dans ta champ CurrentVersion, alors il éxistera aussi une clé HKEY_LOCAL_MACHINE/Software/JavaSoft/Java Runtime Environment/1.4 dans laquelle tu trouveras un champ MicroVersion, qui te renverra 2 si tu utilises Java 1.4.2 !

    Cette méthode est relativement sûre, mais n'est pas garantie à 100%. Si jamais l'utilisateur a fait joujou avec sa base de registre (c'est assez rare en entreprise, ça arrive dans le grand public) il se peut que tu aies des incohérences.
    Nous pour nous "protéger" dans ce genre de cas, on fait le test que je viens de te donner, et on affiche en plus le numéro de version Java minimum exigé par notre appli, en considérant que si l'utilisateur a été suffisament doué pour modifier son registre il doit savoir faire une install java tout seul. Sinon il appelle le support

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    Merci pour l'astuce, ca me parait vraiment bien !!!
    J'utilise "Setup Génerator" pour faire mon Setup. Je le trouve pas particulierement bien, mais il est gratuit. Si quelqu'un a des conseils sur un soft gratuit qui génere des setup, je suis preneur a 100 % (si en plus cela inclut les requete en base de registre, c tout gagné)

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    Et petite question bete, comment requeter "logiciellement" par batch par exemple, la base de registre ?

  12. #12
    Membre expérimenté Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Par défaut
    En installeur, il y a Nullsoft, install any where, setup2go

  13. #13
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Izpack également

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    merci, je vais donc les essayer.

    J'utilisais nullsoft installer mais je le trouve trop basique...

Discussions similaires

  1. Variables d'environnement pour Java sous Windows 7
    Par Snaval dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 14/06/2015, 17h31
  2. Réponses: 10
    Dernier message: 03/10/2011, 12h37
  3. Réponses: 13
    Dernier message: 31/01/2007, 23h22
  4. Comment acceder aux variables d'environnement en JAVA ?
    Par Battosaiii dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2006, 18h47
  5. installer une variable environnement dans windows xp pack 2
    Par superjeanpi dans le forum Windows XP
    Réponses: 1
    Dernier message: 03/03/2005, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo