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

Eclipse Platform Discussion :

Récupérer une variable d'environnement Eclipse


Sujet :

Eclipse Platform

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut Récupérer une variable d'environnement Eclipse
    Bonjour,

    j'aimerai récupérer une variable d'environnement Eclipse dans un de mes plugins (bon pour ceux qui ont vu mon dernier post, en fait c'est le meme mais bon...)

    Les variables dont je parlent sont celles que l'on peut spécifier dans les externals tools... tel que ${project_loc}, ${workspace_loc} etc... lorsque l'on crée un Build Ant... (par exemple)

    merci à tous ceux qui pourront m'aider à résoudre ce problème....
    ca fait quelques heures que je cherche et là je n'en peux plus... alors...

    merci encore

    Angel

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Je n'ai pas encore trouvé ce que je cherchais mais c'est déjà un début...

    Alors voila pour ceux qui voulait récupérer des variables d'environnement WINDOWS c'est comme ca qu'on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    HashMap<String, String> map = (HashMap<String, String>)DebugPlugin.getDefault().getLaunchManager().getNativeEnvironment();
     
    for (Map.Entry<String, String> entry : map.entrySet())   
          System.out.println(entry.getKey() + ":" + entry.getValue());
    }

  3. #3
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    Tu peux récupérer des infos comme le chemin de ton workspace etc. grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Platform.getApplicationArgs()
    tu as aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Platform.getCommandLineArgs()
    Utilise ta petite boucle qui fait les println pour voir s'il y a dedans des infos qui t'intéressent...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    merci de ta réponse....
    mais ... (ben oui, il fallait un mais.. désolé)
    lorsque je lance ces 2 commandes j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String[] info = Platform.getCommandLineArgs();
    for (String string : info) {
         System.out.println(string);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -product
    org.eclipse.platform.ide
    -pdelaunch
    Est-ce moi qui ne lance par correctement cette command ???
    ou alors faut-il activer qqch ailleurs....

    Merci à tous ceux qui seront capables de répondre...

    Angel

  5. #5
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    C'est plutôt dans le getApplicationArgs() que tu auras des infos intéressantes...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par kartben Voir le message
    C'est plutôt dans le getApplicationArgs() que tu auras des infos intéressantes...
    Comme je l'ai dis plus haut le getApplicationArgs() me renvoie la meme chose que getCommandLineArgs() (plus ou moins la même chose. en fait il y a meme moins d'info...)

    mais merci de répondre et de m'aider... c'est vraimement cool... je commence à saturer à devoir chercher comme un blaireau dans la doc d'eclipse pour trouver ou il pourrait parler de ce genre de propiétés.... et la apparement c'est le néant...

    merci...

    Angel

  7. #7
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    A la limite, tu peux peut-être tenter dans les sources mêmes d'Eclipse, parfois ça aide.
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Bonjour ....

    volontier... j'en suis arrivé à penser qu'il faudrait peut-etre que je me
    lance eclipse en mode debug avec les sources et que je fasses du step by step jusqu'à voir comment ILS récupèrent ces p.. de valeurs....

    si quelqu'un sait ou je peux trouver ces sources... ou si quelqu'un à une bonne idée pour m'indiquer vers quoi d'autre chercher.. se sera avec plaisir....

    un monsieur qui commence sérieusement à en avoir marre du manque de documentation... non non je rigole pas...

  9. #9
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    bon en fait au temps pour moi, toutes les variables eclipse.xxxx ou osgi.xxxx sont en fait accessibles avec le classique

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Tout d'abord merci... ensuite 2 choses.... (ouais parceque je suis un sale type qui n'est jamais satisfait...)

    1) j'ai trouvé ces commandes qui m'afficherai le contenu de toutes mes propiétés..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    java.util.Enumeration liste = System.getProperties().propertyNames();
    String cle;
    while( liste.hasMoreElements() ) {
            cle = (String)liste.nextElement();
            System.out.println( cle + " = " + System.getProperty(cle) );
    }
    mais ca ne m'affiche toujours pas le chemin de mon workspace... ni celui de mon projet courant... ni celui du eclipse home... (ce que je cherche...)
    par contre il me sort une tonne d'autres variables dont j'avais besoin pour un autre plugin donc du coup je suis fachement content... mais dans le cas présent c'est toujours pas réglé...

    2) Ou as tu trouvé la documentation qui expliquait ca... (il y a peut-etre d'autre commande qui pourrait résoudre mon problème...)

    merci beaucoup pour toute l'aide donnée

    Angel

    P.S: Après avoir un peu cherche j'ai remarque que je pouvais quand trouvé certaines des valeurs recherchées....

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    osgi.instance.area = file:/D:/workspace/
    semble être la clef pour le workspace_loc

    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    osgi.syspath = d:\Eclipse\
    pourrait être le chemin de eclipse.home...

    manquerait plus qu'à trouver le projet loc et je serai tout bon...
    (enfin) Mais les noms ne sont pas très explicites je trouve (...) est-ce vraiment comme ca qu'il faut récupérer ces variables...

    enfin si ca fonctionne, c'est déjà génial. merci et si quelqu'un à d'autre idée (ou le code source ou les external tools font le transfert entre ${CLEF} et la valeur) c'est avec grand plaisir...

  11. #11
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    Tu peux trouver les sources sur le site d'Eclipse.

    Et sinon, je me demandais, tu as essayé Path.ROOT?
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  12. #12
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution("blabla${project_loc}") ;
    te renverra

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    blablac:\CheminDeTonProjetActuellementSelectionne
    par ex...

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    lorsque j'execute cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try {
    	    project_loc = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution("${project_loc}") ;
    	} catch (CoreException e) {
    	    // TODO Auto-generated catch block
    	    e.printStackTrace();
    	}
     
    System.out.println(project_loc);
    cela me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.eclipse.core.runtime.CoreException: Variable references empty selection: ${project_loc}
    avec bien entendu toute la stack trace de l'erreur qui suit....
    Je part donc de l'idée que la variable n'existe pas... ce qui me semble étrange car dans les external tools elle existe... (j'ai par contre constaté avec plaisir que ${workspace} et ${system:ECLIPSE_HOME} fonctionne parfaitement et me renvoi les bonne valeur...)

    Donc merci beaucoup, c'est ce que je cherchais... (un outil simple et unique pour transformer toutes mes variables d'environnement...

    Par contre... aurais-tu la doc kartben de cet outil et/ou la raison du disfonctionnement de la variable ${project_loc}... (j'ai uniquement lancé mon plugin en mode runtime... je ne l'ai pas installé...mais ca ne devrais pas poser de problème il me semble)

    Merci infiniment à tout le monde ... j'avance à pas d'escargot mais j'avance...

    Angel


    P.s:
    Non je n'ai pas essayé Path.ROOT mais qu'est-ce donc ??? (au niveau de System.getProperties() ??? c'est ca ??? car si c'est ca je ne l'ai pas...)

  14. #14
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    Ben... Pour avoir la location d'un projet, il faut que tu en aies sélectionné un (dans le workbench), sinon ça n'a pas de sens, non ? ;-) ...
    Tu appelles ça, à tort, des variables d'environnement. Comme leur nom l'indique, ce sont plutôt des variables dynamiques (i.e. dépendantes du contexte) !

  15. #15
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    Citation Envoyé par Angelinsky7 Voir le message
    P.s:
    Non je n'ai pas essayé Path.ROOT mais qu'est-ce donc ??? (au niveau de System.getProperties() ??? c'est ca ??? car si c'est ca je ne l'ai pas...)
    Non, c'est juste une chaîne statique dans la classe Path, qui permet de définir des chemins, donc je me disais qu'il y aurait peut-être quelque chose dans cette classe qui pourrait t'être utile?
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  16. #16
    Membre confirmé

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 556
    Points
    556
    Par défaut
    Citation Envoyé par gmotw Voir le message
    Non, c'est juste une chaîne statique dans la classe Path, qui permet de définir des chemins, donc je me disais qu'il y aurait peut-être quelque chose dans cette classe qui pourrait t'être utile?
    IPath.ROOT est juste un Path constant représentant "/" ... Je doute que ça serve à qui que ce soit ailleurs que dans du code internal ...!

  17. #17
    Membre confirmé Avatar de gmotw
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 384
    Points : 641
    Points
    641
    Par défaut
    Je parlais plus de Path en général en fait. C'est vrai que j'avais le root en tête pour une autre raison...
    Après, je ne sais pas si ça peut lui être utile, c'était juste un truc qu'il pouvait explorer s'il avait le temps.
    THIS!IS!NOT!MY!COW!

    CECI!N'EST!PAS!MA!VACHE!
    (mais je persiste à dire que c'est moins classe en français )

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par kartben Voir le message
    Ben... Pour avoir la location d'un projet, il faut que tu en aies sélectionné un (dans le workbench), sinon ça n'a pas de sens, non ? ;-) ...
    Tu appelles ça, à tort, des variables d'environnement. Comme leur nom l'indique, ce sont plutôt des variables dynamiques (i.e. dépendantes du contexte) !
    mais c'est ce qui était fait justement (enfin je crois)... pour moi il suffisait de cliquer dessus dans le package explorer.... (mais apparemment ca ne suffit pas)

    et c'est vrai que le terme n'est pas tout à fait correct... mais il semblerait que eclipse les appelle également comme ca... alors bon bref ce sont des variables...

    Je cherche toujours à récupérer le nom de mon projet.... et non je n'y arrive toutjours pas, il me renvoie soit null, soit l'erreur citée plus haut... je continue de chercher.. mais si qq'un à une idée---

    Merci encore( et encore ) à tout le monde..

    Angel

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Au tant pour moi.... tout fonctionne bien à présent...

    c'était une stupide faute de frappe... j'arrive bien à récupérer mes variables dynamiques avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(STRING);
    merci à tout le monde pour m'avoir aidé...

    A tout bientôt...

    Angel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. .properties Récupérer une variable d'environnement
    Par bmayer dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 14/02/2014, 08h52
  2. Récupérer une variable d'environnement Java
    Par Anack dans le forum JSF
    Réponses: 2
    Dernier message: 01/06/2011, 11h07
  3. Réponses: 3
    Dernier message: 18/12/2008, 07h29
  4. récupérer une variable d'environnement
    Par captainamerica75 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 04/06/2007, 16h25

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