17. oktober 2007 - 15:28Der er
12 kommentarer og 1 løsning
Runtime.exec() på linux
Jeg skal have kørt en kommando fra en Oracle Application Server via Runtime.exec(), problemet er at jeg få en IOException hver gang - uanset kommando. Har prøvet med de mest almene kommandoer, pwd, whoami, ls - intet virker. Koden virker på en windows maskine hvor jeg kan kalde tracert, ping osv.
Toppen af StackTrace ser således ud: java.io.IOException: whoami: not found java.lang.UNIXProcess.<init>(UNIXProcess.java:148) java.lang.ProcessImpl.start(ProcessImpl.java:65) java.lang.ProcessBuilder.start(ProcessBuilder.java:451) java.lang.Runtime.exec(Runtime.java:591)
jeg skal lave et kald til Apache Ant, fx "ant -Denv= -Dpwd=pass deploy"...
Kaldet skal udføres indtil flere gange med forskellige parametre, vil det sige, at jeg for hvert kald skal skrive til en .sh fil og så eksekverer den ?
Er igang med at kigge på Apaches Ant klasser til Java, men ville gerne have exec() til at virke. Har prøvet med følgende String cmd[] = { "bash", "ant", "-version" }. Får samme IOException "bash not found".
Jeg vil køre en executeTarget() på mit Project objekt, dens baseDir er sat til det rigtige, og det target jeg har valgt findes i build filen, alligevel får jeg en
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.