2017-01-31 3 views
0

Hier ist meine Powershell-FunktionKann nicht Arbeitsverzeichnis übergeben Start-Prozess

function conRun ([string]$fwd=$conFolder, [switch]$NoNewWindow) 
{ 
start-process java -ArgumentList '--jar myProject.jar', 'spring.profiles.active=prof1,prof2' -WorkingDirectory $fwd -PassThru -NoNewWindow:$NoNewWindow 
} 

ich denn es ist Java von $conFolder Verzeichnis laufen, wo die jar-Datei ist. Aber das tut es nicht. Läuft im aktuellen Verzeichnis und schlägt stattdessen fehl. Versteh ich irgendwie -WorkingDirectory?

+0

Ich habe gerade Ihren Code ausprobiert und es funktionierte für mich, wenn ich eine $ conFolder-Variable setzte. Wenn Sie einen Test ausführen, können Sie versuchen, einen "write-host $ fwd; write-host $ confolder" 'in die Zeile vor der Zeile in Ihrer Funktion zu werfen, um zu sehen, dass die Variablen richtig gesetzt sind? – twglomski

+0

Es gefunden. Das Problem war in dem zerbrochenen Glas. Aus irgendeinem Grund hat es eine Ausnahme im aktuellen Ordner angezeigt - das hat mich verwirrt. Rebuilt das Glas richtig und alles läuft gut. – ephemeris

Antwort

0

Diese Abfrage ist aus meiner Sicht völlig in Ordnung.

würde Ich mag Sie überprüfen:

  1. jar myProject.jar,
  2. spring.profiles.active = PROF1, prof2

denke ich, das Problem mit ihnen ist nur führen, wenn Ich habe mit jedem anderen Jar mit meinem lokalen Profil versucht, es hat richtig funktioniert.

+0

Ja, tatsächlich war es die kaputte JAR-Datei. – ephemeris