2017-03-02 16 views
0

Ich benutze derzeit gmaven plus, um einen groovigen Befehl in maven auszuführen.Aufruf groovy execute cross platform

Der Befehl (zum Wohle Beispiel) würde

git help 

sein, wenn ich es auf Linux laufen ich tun kann:

'git help'.execute().text.trim() 

Diese auf Windows jedoch nicht funktioniert. Stattdessen muss ich tun:

'cmd /C git help'.execute().text.trim() 

Gibt es eine plattformübergreifende Möglichkeit, dies zu tun?

+1

ich 'kann 'git help'.execute(). Text.trim()' fein in einem stark Shell unter Windows. Versuchen Sie es vielleicht, wenn es außerhalb von Maven mit einer einfachen Groovy-Shell funktioniert. – Vampire

+0

Ich habe, ich heruntergeladen und run groovysh und habe dieses Problem. Es funktioniert gut, wenn ich es von git bash oder von cygwin, aber nicht von der einfachen Eingabeaufforderung aus führe (habe PowerShell nicht versucht). Das Problem ist, dass der größte Teil des Teams unter Linux oder Mac OS arbeitet und einige auf der Vanila-Eingabeaufforderung laufen, so dass ich es in beiden Umgebungen verwenden muss –

Antwort

0

Als ich sah, dass es für andere funktionierte, brachte mich das zum Nachdenken, und tatsächlich lag das Problem bei meiner eigenen PATH-Konfiguration.

Anscheinend, wenn Sie git im Pfad wie folgt definieren:

"C:\Program Files (x86)\Git\bin" 

dann, wenn sie von Befehl ausführen es git finden. Groovy wird es jedoch NICHT finden.

Auf der anderen Seite, wenn Sie git im Pfad wie folgt definieren:

C:\Program Files (x86)\Git\bin 

das heißt ohne die „“. Dann funktioniert alles gut.

siehe auch https://serverfault.com/questions/349179/path-variable-and-quotation-marks-windows

Verwandte Themen