Apache Ant kommandolinjeargumenter uten anførselstegn - er det mulig?

stemmer
0

I dag måtte jeg legge en oppgave til en Apache Ant fil. Kommandolinjen skal ha vært noe sånt

myprogram --param1 --param2 path\somefile 2> path\logfile

Problemet med dette var at hvis jeg brukte noe sånt som følgende for denne

<exec executable=$(myprogram)
  <arg value=--param1>
  <arg value=--param2>
  <arg path=$(somefile)>
  <arg value=2>>
  <arg path=$(logfile)>
</exec>

alle argumenter ble sitert, så kommandoen så slik ut:

myprogram --param1 --param2 path\somefile 2> path\logfile

som ikke er dårlig, og spesielt hyggelig hvis du har mellomrom i filer / sti, men ødelegger røret til loggfil (i stedet, mener programmet er det to ekstra fil argumenter 2> og bane \ loggfil).

Jeg jobbet rundt dette ved å kalle en batch skript i stedet som bare ønsker filene som parametere, men jeg lurte på: Er det mulig å gjøre dette uten en slik løsning?

Publisert på 21/10/2009 klokken 18:25
kilden bruker
På andre språk...                            


4 svar

stemmer
2

Har du prøvd <arg line="..." />?

Svarte 21/10/2009 kl. 18:28
kilden bruker

stemmer
2

Når du kjører "myprogram --param1 --param2 bane \ somefile 2> bane \ loggfil", argumenter til programmet avsluttes kl "2>". Fil omdirigering er en operasjon av skallet, som ikke blir brukt innenfra maur. Hvis du ser på docs for maur exec oppgaven , vil du se at den støtter omdirigering via utgang attributtet.

Svarte 21/10/2009 kl. 18:30
kilden bruker

stemmer
1

Mauren kjørbart oppgave har en utgangsparameter, hvor man kan angi loggfilen uten å kreve at kommandolinjen rør, kombinert med parameteren føyer å bestemme om utgangsfilen skal overskrives eller legges til.

Svarte 21/10/2009 kl. 18:31
kilden bruker

stemmer
1

Jeg hadde en lik problem som tema starteren gjorde. På en java gjennomføring kommandolinje jeg trengte å legge kildefilene som separate argumenter, ikke som en krangel med anførselstegn rundt dem. Jeg brukte <arg value="..." />koden, men bruker <arg line="..." />som nullptr foreslått løst mitt problem.

Svarte 29/04/2011 kl. 09:43
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more