Bonjour tout le monde,
je rencontre un probleme en ce moment pour recuperer une variable d'environnement sous unix.
J'utilise Java 1.4.2, la methode System.getEnv() est donc depreciated. Pas de probleme, me dis-je (:p) je refait une fonction perso pour recuperer les variables que j'ai besoin...
Voici donc le bout de code qui me le permet:
Sous windows tout marche nickel, je recupere la valeur de ma variable d'environnement dans EnvValue. Sous unix, c'est une autre histoire. Lorsque je lance la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public static void main(String[] args) throws IOException { String EnvValue=null; Process process = null; BufferedReader br = null; String CmdWin[] = {"cmd.exe", "/C", "echo %" + args[0] +"%"}; String CmdUnix = "echo ${AOUTIL_CONFFILE}"; if(OSType.equalsIgnoreCase("win")) process = Runtime.getRuntime().exec(CmdWin); else if(OSType.equalsIgnoreCase("unix")) process = Runtime.getRuntime().exec(CmdUnix); br = new BufferedReader( new InputStreamReader(process.getInputStream())); EnvValue = br.readLine(); br.close(); process.destroy(); System.out.println(EnvValue); }dans mon shell je recupere la bonne valeur, mais lorsque que je lance mon programme java pour executer la meme commande par l'intermediaire d'un
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo ${Nom_variable}, j'obtien l'affichage suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Runtime.getRuntime().exec("echo ${nom_variable});
en gros il m'affiche juste ce qui apparait apres le echo, c'est comme si il ne faisait pas le lien avec la variable d'environnement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sun26:/home/brunel/romain> java -jar test.jar ${AOUTIL_CONFFILE} sun26:/home/brunel/romain>
des idées??
merci d'avance
Cordialement
Partager