Probléme avec java.lang.Runtime - Java - Programmation
Marsh Posté le 08-04-2009 à 09:04:33
il y a pas un second argument à Runtime.exec() qui pourrait être le répertoire de travail ?
edit: correction
http://java.sun.com/j2se/1.4.2/doc [...] ntime.html
c'est le troisième argument
Marsh Posté le 08-04-2009 à 12:05:12
Voila c'est ça !! j'ai ajouter à exec un 3éme argument qui est le chemin du repetoire dans lequel se trouve la commade avec laquelle je veux travailler
merci
Marsh Posté le 07-04-2009 à 21:24:38
Bonsoir
mon probléme est que je veux me rediriger vers un dossier pour executer une commande contenue dans ce dossier en utilisant le code java suivant :
public class Cli {
/**
* @param args
*/
public static void executer(String[] cmd){
try{
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]
+ " " + cmd[2]);
Process proc = rt.exec(cmd);
// any error message?
StreamGobbler errorGobbler = new
StreamGobbler(proc.getErrorStream(), "ERROR" );
// any output?
StreamGobbler outputGobbler = new
StreamGobbler(proc.getInputStream(), "OUTPUT" );
// kick them off
errorGobbler.start();
outputGobbler.start();
// any error???
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
}catch (Throwable t)
{
t.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] cmd = new String[4];
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = "cd";
cmd[3] = "C:\\Program Files\\glassfish-v2.1\\bin";
executer(cmd);
String cmd1[]= new String[3];
cmd1[0]="cmd.exe";
cmd1[1]="/C";
cmd1[2]="asadmin start-domain domain1";
executer(cmd1);
}
}
mais ça marche pas,si je remplace "asadmin start-domain domain1" par un simple "dir" il affiche le contenu du repertoire courant de mon workspace eclipse et non pas celui de c:\program files\glassfish-v2.1\bin