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

API standards et tierces Java Discussion :

Accéder à une variable d'environnement perso


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Accéder à une variable d'environnement perso
    Bonjour,

    Je souhaiterais avoir accès à une variable d'environnement personnelle (VCCTL_HOME) à partir d'une classe Java.

    La version de Java que j'utilise est soit la 1.5, soit la 1.6 (je développe et teste sur plusieurs machines), System.getenv() est donc dispo.

    Lorsque j'utilise System.getenv(), j'ai bien accès aux différentes variables d'environnement telles que JAVA_HOME, PATH, SHELL etc. mais la mienne n'apparaît pas dans la liste.

    Je précise que ma variable est définie dans mon .profile et que lorsque je fais un echo $VCCTL_HOME elle apparaît bien.

    Donc comment se fait-ce qu'elle n'apparaisse pas avec System.getenv()?



    Question subsidiaire: donc apparemment pas de moyen simple d'accéder aux variables d'environnement persos avec Java 1.4 si on ne les connaît pas à l'avance?


    Complément: le pourquoi du comment.

    Pourquoi utilise-je cette variable? Car c'est l'installeur que nous utilisons qui place un répertoire dont je me sers (il contient entre autres choses des exécutables écrits en C que je lance à l'aide de Java) où l'utilisateur le spécifie.
    Je ne sais pas à l'avance où se trouve se répertoire car l'utilisateur peut l'installer où il veut sur sa machine. C'est pour cela que je stocke le chemin d'accès dans ma variable d'environnement JAVA_HOME

    Merci d'avance!

    [Edit]J'ai oublié de préciser: tout ça c'est sous Tomcat

    PS: je suis sous Mac OS 10.4 et l'appli tourne également sous Linux et Windows
    Dernière modification par Invité ; 25/01/2008 à 00h19.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Personne?

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Mateo34 Voir le message
    Je précise que ma variable est définie dans mon .profile et que lorsque je fais un echo $VCCTL_HOME elle apparaît bien.
    Il faut l'exporter, si je ne me trompe pas :
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export VCCTL_HOME=ton_chemin
    Sinon les variables sont utilisables seulement au niveau du shell (c'est une spécificité des shell unix il me semble).


    a++

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pardon, je me suis mal exprimé: je voulais dire que ma variable était exportée dans mon .profile

  5. #5
    Invité
    Invité(e)
    Par défaut
    Personne n'a été confronté à ce problème?

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Si la variable est bien exporté tu devrais normalement y avoir accès :

    • Vérifies bien le nom de la variable (les Unix sont case-sensitive !)
    • As-tu relancé la console après avoir modifié ton profile, car les modifs ne sont pas prise en compte immédiatement.
    • Dans ton premier message tu parles de VCCTL_HOME et de JAVA_HOME : faute de frappe ?


    a++

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Si la variable est bien exporté tu devrais normalement y avoir accès :

    • Vérifies bien le nom de la variable (les Unix sont case-sensitive !)
    • As-tu relancé la console après avoir modifié ton profile, car les modifs ne sont pas prise en compte immédiatement.
    • Dans ton premier message tu parles de VCCTL_HOME et de JAVA_HOME : faute de frappe ?


    a++
    Oui, tout est OK.

    VCCTL_HOME, c'est le nom de ma variable d'environnement définie dans mon .profile, celle à laquelle je n'arrive pas à accéder.

    J'ai discuté avec un pote et pour lui le problème vient du fait que la JVM est lancée avant que le .profile ne soit lu par le système (il me semble au passage que le .profile est lu au moment du login et que donc il n'y a plus besoin de lancer de shell une fois que le login est fait) et que la JVM n'est pas informée des nouvelles variables d'environnement exportée après son lancement.

    Vous en pensez quoi?

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2005, 16h35
  2. [C#] Récupération d'une variable d'environnement
    Par jamy79 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2005, 14h03
  3. NASM Tester une variable d'environnement à la "compilat
    Par Pierre Maurette dans le forum Assembleur
    Réponses: 1
    Dernier message: 10/06/2005, 13h27
  4. [BES] Création d'une variable d'environnement
    Par NGI80 dans le forum Autres
    Réponses: 2
    Dernier message: 17/10/2002, 07h31

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