ProcessBuilder kann die Datei nicht finden ?!

8

Eine andere Frage in schneller Folge, aber das muss ein wirklich offensichtlicher Fehler sein, den ich nicht sehe. Ich habe etwas Code geschrieben, um eine Batch-Datei unten zu starten, aber ich bekomme eine Fehlermeldung, dass es die Datei nicht finden kann, aber ich kann Ihnen versichern, dass die Datei im Verzeichnis existiert!

%Vor%

}

und hier ist die Fehlermeldung

%Vor%     
Rookie 23.03.2012, 22:23
quelle

2 Antworten

11

Ich führe Linux aus, aber der gleiche Fehler tritt auf, wenn ich deinen Code ausführe (modifiziert, um eine .sh anstatt .bat auszuführen).

Versuchen:

%Vor%

Anscheinend hat die Verwendung von ProcessBuilder.directory keinen Einfluss auf das Arbeitsverzeichnis ( zum Auffinden der ausführbaren Datei ), das beim Erstellen des Builders ausgewählt wurde (zumindest scheint das der Fall zu sein) docs sagen, es wird das Arbeitsverzeichnis ändern, also denke ich, Input / Output-Dateien könnten relativ dazu sein?)

Ich bin mir nicht sicher, was es eigentlich intern macht, aber das Bereitstellen des Pfades zur ausführbaren Datei im Konstruktor behob das Problem.

Dieser Beitrag spricht über das Problem und diese Lösung , aber stellt auch fest, ob Umgebungsvariablen gesetzt werden müssen, von denen "Pfad" -ähnliche Variablen nützlich sein könnten, um ProcessBuilder beim Auffinden einer ausführbaren Datei zu helfen.

    
Ash 23.03.2012 23:12
quelle
2

Hi, versuche das Tutorial hier zu benutzen - Ссылка . Ich habe die Klasse etwas geändert und finde die Datei (beachte, dass ich nicht weiß, was drin ist, kann sie also nicht vollständig testen). Es kompiliert und läuft ohne Probleme, während Ihre eigenen ich dieselben Probleme wie Sie erfahren:

%Vor%     
aretai 23.03.2012 23:21
quelle

Tags und Links