Ich habe den folgenden Java-Code, der mein run.sh-Skript ausführen sollte.run.sh läuft nicht mit Process Builder
public void executeScript() {
try {
Process p = null;
ProcessBuilder pb = new ProcessBuilder("phoneManagement/src/run.sh");
//pb.directory(new File("phoneManagement/src"));
p = pb.start(); // Start the process.
p.waitFor(); // Wait for the process to finish.
System.out.println("Script executed successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
Und die run.sh sieht wie folgt aus:
#!/bin/sh
javac -cp ".:../../selenium/selenium-java-2.53.1.jar:../../selenium/selenium-server-standalone-2.53.1.jar:../../selenium/libs/*" phoneManagement.java
java -cp ".:../../selenium/selenium-java-2.53.1.jar:../../selenium/selenium-server-standalone-2.53.1.jar:../../selenium/libs/*" phoneManagement
Wenn ich das .sh-Skript von der Kommandozeile tut es laufen, was es soll und mein phoneManagement kompiliert und ausgeführt.
Wenn ich meine executeScript-Klasse verwende, bekomme ich die Meldung "Skript wurde erfolgreich ausgeführt", obwohl run.sh nicht das getan hat, was es sollte.
kann mir jemand dabei helfen?
Thanx
Versuchen Sie es mit einem vollständigen Pfad. Es ist wahrscheinlich, dass der Befehl fehlschlägt, aber ich denke nicht, dass es eine Ausnahme geben wird. Versuchen Sie, die Ausgabe des Befehls auszugeben. – 123