Ich habe erfolgreich AutoIt zur Ausführung von Befehlen verwendet, aber ich dachte, ich könnte eine stabilere Implementierung über Runtime bekommen. Auf diese Weise weiß ich, dass die Befehle immer ausgeführt werden und nicht durch Unterbrechungsausnahmen und anderen zufälligen Mist ausgelöst werden. Gibt es etwas in Runtime, von dem ich nicht weiß, dass es keine kontinuierliche Ausführung von Befehlen erlaubt? Hat es keinen Speicher für die Ausgaben früherer Befehle, d. H., Läuft es nicht in einer beständigen Befehlszeile?Ausführen von Befehlen mit Java Runtime
Die folgenden Befehle navigieren zu einem Ordner und führen ein Maven-Skript aus. Wie würde ich das zur Arbeit bringen? Wenn es mehr als 10 weitere Befehle gäbe, würden sie innerhalb desselben Prozesses ausgeführt werden?
sendCommand("cmd.exe cd homepath/plugins");
sendCommand("mvn archetype:generate -DarchetypeCatalog=file://homepath/.m2/repository");
private static void sendCommand(String text) throws IOException {
Runtime.getRuntime().exec(text);
}
Was ist damit? http://StackOverflow.com/a/18867097 Es sieht so aus, als ob ich && zwischen den Befehlen hinzufügen kann, um alle innerhalb desselben Prozesses auszuführen? – santafebound
@bluemunch Dies wird alle zu einem einzigen Befehl kombinieren, aber es wird nicht zu einer einzigen Prozess-ID kombiniert. Jetzt * wird * sie alle zu einem einzigen 'java.util.Process' kombinieren. Wenn Sie das mit einem einzigen Prozess meinen, dann funktioniert das '&&' perfekt für Sie. – Brian