execution de script shell sous java avec shell.adiguba
execution de script shell sous java avec shell.adiguba - Java - Programmation
MarshPosté le 28-03-2013 à 11:10:59
bonjour tout le monde,
pour exécuter des script shell en java sans utiliser la classe runtime, j'utilise le .jar adiguba. cependant ma classe java n'arrive pas a exécuter le script. quand je lance la meme cmd depuis le terminal, aucun probleme ca s'exécute. mais quand je lance la commande depuis java ca me retourne une erreure voila le code:
public int tailleFichier(File fic) {
Shell sh = new Shell(); int taille=sh.exec("sed -n '$' /root/Desktop/test" ).consume(); return (taille);
}
voici le code d'erreur
Exception in thread "main" java.io.IOException: Cannot run program "sed -n '$' /root/Desktop/test": error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) at com.developpez.adiguba.shell.ProcessConsumer.getProcess(ProcessConsumer.java:471) at com.developpez.adiguba.shell.ProcessConsumer.consume(ProcessConsumer.java:486) at Port161.DataBaseU.taille(DataBaseU.java:267) at Port161.DataBaseU.<init>(DataBaseU.java:31) at Port161.DataBaseU.main(DataBaseU.java:272) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:135) at java.lang.ProcessImpl.start(ProcessImpl.java:130) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021) ... 5 more Java Result: 1 BUILD SUCCESSFUL (total time: 0 seconds)
je ne comprend pas d'ou viens le probleme le fichier existe bel et bien sur le bureau
Marsh Posté le 28-03-2013 à 11:10:59
bonjour tout le monde,
pour exécuter des script shell en java sans utiliser la classe runtime, j'utilise le .jar adiguba.
cependant ma classe java n'arrive pas a exécuter le script. quand je lance la meme cmd depuis le terminal, aucun probleme ca s'exécute. mais quand je lance la commande depuis java ca me retourne une erreure voila le code:
public int tailleFichier(File fic)
{
Shell sh = new Shell();
int taille=sh.exec("sed -n '$' /root/Desktop/test" ).consume();
return (taille);
}
voici le code d'erreur
Exception in thread "main" java.io.IOException: Cannot run program "sed -n '$' /root/Desktop/test": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at com.developpez.adiguba.shell.ProcessConsumer.getProcess(ProcessConsumer.java:471)
at com.developpez.adiguba.shell.ProcessConsumer.consume(ProcessConsumer.java:486)
at Port161.DataBaseU.taille(DataBaseU.java:267)
at Port161.DataBaseU.<init>(DataBaseU.java:31)
at Port161.DataBaseU.main(DataBaseU.java:272)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
... 5 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
je ne comprend pas d'ou viens le probleme le fichier existe bel et bien sur le bureau
merc_i bcp