Bonjour
J'utilise Tomcat et Axis pour écrire un WS.
Dans celui ci, j'utilise une variable d'environement (MY_HOME) mais System.getenv() retourne systematiquement null. ! :cry:
Je ne sais pas quoi faire, qq1 a une solution ?
Version imprimable
Bonjour
J'utilise Tomcat et Axis pour écrire un WS.
Dans celui ci, j'utilise une variable d'environement (MY_HOME) mais System.getenv() retourne systematiquement null. ! :cry:
Je ne sais pas quoi faire, qq1 a une solution ?
Comment est "setter" ta variable d'envirronnement MY_HOME?
Poste de travail -> propriétés -> avancée -> variables d'env
J'ai testé l'espace USER et l'espace SYSTEM
SYSTEM OU USER c'est pareil ca doti fonctionner, juste que si elle est defini dans les 2 il prendra la USER a la place de la SYSTEM.
AS-tu redemarrer le pc après avoir setter la variable d'envirronement?
As-tu essayé avec un main normal sans utilisé tomcat? Ca donne quoi?
Avec un main java normal, ca marche bien.
Je dirais meme plus, avec la variable PATH dans le WS, ca marche aussi.
C'est seulement avec MA variable que ca marche pas.
Je pense que c'est un probleme de droits, le WS ne doit pas avoir le droit de consulter les var d'env autre que PATH.
Il doit y avoir des modifs a faire dans catalina.properties, mais je ne sais pas ou ni quoi.
Ah si c'est du coté WS que ca se joue ca va etre dur de t'aider car je ne sais meme pas ce que c'est :mrgreen:
T'es sûr que c'est pas transformé une system property ?
Dans tous les cas, System.getenv() est dépréciée donc faut pas s'étonner si des fois ça marche pas.
Ah ?? On utilise quoi alors pour lire les var ? 8O
Peut-être n'utilises-tu pas la version 1.5 de java ?
En 1.4, ça ne fonctionne pas
En fait, je suis obligé d'utiliser la version 1.6.
Donc, avez vous une solutions pour la var d'env ? Ca me fais un peu iech de devoir ecrire ca en dur dans le code ou de lire un fichier de conf.
MY_HOME est sensé représenté quoi et tu cherches à faire quoi ? ca me semble très imprécis comme question ...
...
Peu importe à quoi peu bien servir cette variable. J'en ai besoins dans le webservice c'est tout !
Le problème (au cas ou je me serais mal exprimé) est que je n'arrive pas à la lire en utilisant System.getenv(), ca renvoie null.
Je ne vois PAS comment je pourrais être plus clair.
donc, personne ne peut m'aider ? :(
IL y aurait peut etre une facon pour toi si tu veux absolument ta valeur.
Mais attention je te previens je la trouve vraiment très sale.
IL te suffit de faire un Runtime. De lancer la commande "echo %MY_HOME%"
et de recuperer ce que ca te renvoi.
SI la ca te renvoi null, c'est surement un probleme de définition.Code:
1
2
3 Runtime r = Runtime.getRuntime(); Process p = r.exec(" echo %MY_HOME% "); etc.... p.getInputStream..........
mouais...
je peux pas faire ca, mon soft doit pouvoir tourner sous Windows et Unix
Il faut passser la variable d'environnement en tant que system property de ta JVM :
Windows :
Unix :Code:java ... -DMyHome=%MY_HOME% ...
Tu récupères alors la variable avec un System.getProperty("MyHome").Code:java ... -DMyHome=$MY_HOME ...