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

avec Java Discussion :

.properties Récupérer une variable d'environnement


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bmayer
    Inscrit en
    Décembre 2003
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 153
    Par défaut .properties Récupérer une variable d'environnement
    Bonsoir à tous

    Débutant en Java, je me heurte à la substitution de variables d'environnement à l'intérieur d'un .properties
    En utilisant ceci comme modèle :

    Apres avoir verifier par echo que la variable est renseignée, connue, ...

    Le script qui lance la ligne de commande java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -DAdh=%ADHERENT% -Xmx768m -classpath %SOURCE_JAR%\;%SOURCE_JAR%\ListDocInstance.jar ListDocInstance ListDocInstance.properties
    Le .properties contient

    Et c'est là, c'est littéralement "${Adh}" qui est récupéré, et non "ZX"
    Où couille-je ?
    Merci d'avance

    p.s. Je croyais que c'était log4j qui gére les .properties, mais il semble que ce ne soit pas le cas ...

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Tu ne couilles nulle part.

    Le comportement est tout a fait normal.

    Comment java pourrais-t-il savoir qu'il doit faire une substitution lors de la lecture d'un fichier properties en se référant variables système ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de bmayer
    Inscrit en
    Décembre 2003
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 153
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Tu ne couilles nulle part.
    Le comportement est tout a fait normal.
    Comment java pourrais-t-il savoir qu'il doit faire une substitution lors de la lecture d'un fichier properties en se référant variables système ?
    Bon, tant pis.
    Je vais scripter pour générer les .properties pour chacune des plateformes ...
    Merci qd meme !

  4. #4
    Membre confirmé Avatar de bmayer
    Inscrit en
    Décembre 2003
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 153
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Comment java pourrais-t-il savoir qu'il doit faire une substitution lors de la lecture d'un fichier properties en se référant variables système ?
    En cherchant sur la toile, j'ai trouvé des solutions de substitution dans les .properties, mais lus par log4j, pas ceux lus cruement par le code ...
    Donc, j'ai émis l'hypothèse que, peut-être, cela était possible en dehors de log4j.

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Bah faut dire que tu n'expliques pas comment tu lis/ecris tes fichiers properties.

    Un fichier properties en java en general se manipule avec la classe Properties. Je vois pas trop ce que log4j vient faire la dedans entres nous. (mais je ne suis pas au courant de tout non plus
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par bmayer Voir le message
    Donc, j'ai émis l'hypothèse que, peut-être, cela était possible en dehors de log4j.
    Bah log4j a été fait par des gens, hein, c'est pas une ressource unique qu'on a trouvé sur Terre et décidé de l'utiliser pour ses capacités uniques. N'importe qui d'autre peut décider d'appliquer les mêmes traitements aux .properties que le fait log4j.
    De même que si tu trouves un nombre dans un .properties, tu peux le multiplier par deux si t'en as envie, eh ben, si tu trouves un truc qui ressemble à ${MACHIN}, tu peux le remplacer par la valeur d'une variable MACHIN si t'en as envie. Le truc c'est que personne le fera à ta place.

    ... Enfin personne, c'est vite dit : en fait la bibliothèque tierce Apache Commons Configuration fait le plus gros du boulot pour toi. Mais il faut la prendre, l'installer et t'en servir.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé Avatar de bmayer
    Inscrit en
    Décembre 2003
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 153
    Par défaut
    C'est un lot d'outils réalisés par un prestataire.
    N'étant pas programmeur Java, je préfère ne pas y toucher, d'autant que ça tourne.
    Il y a juste un problème d'industrialisation ; Le fichier de paramétrage (le .properties) comporte le ~~~nom machine, je ne vais pas éditer autant de .properties qu'il n'y a de machines, autant utiliser l'info qui se trouve dans des variables d'environnement.
    L'exécution d'un outil trace ses actions, en faisant des écritures dans un fichier (.log), la gestion de ceci se fait par log4j.
    Pour que log4j fonctionne comme attendu, par ex. que le fichier de sortie soit à un endroit précis, log4j récupère son paramétrage dans un .properties.

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Oui, on sait, log4j a programmé ce genre de post-processeur.
    Tu pourrais en utiliser un semblable, mais si tu ne peux pas toucher au code, ça n'arrivera pas, c'est tout.

    Après, rien ne t'empêche de faire un pré-processeur en amont, en dehors du code de l'appli, avant de la déployer.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre confirmé Avatar de bmayer
    Inscrit en
    Décembre 2003
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 153
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Après, rien ne t'empêche de faire un pré-processeur en amont, en dehors du code de l'appli, avant de la déployer.
    C'est tout à fait ce que je vais faire, du scripting pour construire les .properties à la volée, avant exécution. Merci Thelvin.

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

Discussions similaires

  1. Récupérer une variable d'environnement Java
    Par Anack dans le forum JSF
    Réponses: 2
    Dernier message: 01/06/2011, 11h07
  2. Réponses: 3
    Dernier message: 18/12/2008, 07h29
  3. Récupérer une variable d'environnement Eclipse
    Par Angelinsky7 dans le forum Eclipse Platform
    Réponses: 18
    Dernier message: 30/04/2008, 11h23
  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