gradle: task Ausführen "eingeben:Exec" mit vielen Argumenten mit Leerzeichen

Habe ich die gradle-task, der sollte erstellen Sie Websphere-profile für Windows-Betriebssysteme

task createProfile(type:Exec) {

    def commandToExecute = new StringBuffer()
    def profile = 'AppSrv02'
    def wasHome = 'C:/IBM new/WebSphere/AppServer'

    def str = new LinkedList <String> ();
    str.add('cmd')
    str.add('/c')
    str.add(wasHome + '/bin/manageprofiles.bat')
    str.add('-create')
    str.add('-profileName')
    str.add(profile)
    //str.add('-templatePath')
    //str.add(wasHome + '/profileTemplates/default')

    println (str)
    commandLine str.toArray()

}

Und das problem erscheint, wenn ich die Auskommentierung auskommentierte Zeilen, nach der es Aufgabe schlägt fehl, und sagen mir, dass: "C:/IBM" ist nicht gültig batch-Datei. Wenn ich profileTemplates nicht in den Ordner, der Leerzeichen enthält, funktioniert alles wieder. Aber Vorlagen sollte liegt int wasHome( Und manchmal wasHome Leerzeichen(

Habe ich jetzt Ideen, warum das hinzufügen von Vorlagen-Schlüssel (mit dem Wert mit Leerzeichen auf, Einfluss in der Weise, dass Gradle versucht zu starten "C:/IBM" stattdessen angegeben " C:/IBM neu/WebSphere/AppServer/bin/manageprofiles.bat'. Es scheint, dass, möglicherweise, problem in java.lang.ProcessBuilder.

Ich versucht zu zitieren, Pfade, durch hinzufügen "/"" aber nichts funktioniert(((( was nicht zu verwundern ist, da ProcessBuilder impliziert zitieren von selbst, wenn es erforderlich ist.

So, ich bin gefragt, wenn jemand hatte das ähnliche problem und könnte mir empfehlen, wie man dieses Problem umgehen? Vielen Dank im Voraus.

InformationsquelleAutor serg | 2013-12-16
Schreibe einen Kommentar