2012-06-29 17 views
5

Voglio passare gli argomenti della riga di comando al mio programma java che viene richiamato attraverso un form falso (abbiamo il nostro script ant perl in perl che a un certo punto chiama la formica effettiva). Quindi quello che voglio fare è richiamare il mio programma come questo:passare argomenti a java attraverso la formica

./ant program_name arg1 arg2

In questo momento ho un obiettivo formica per il mio programma, ma invece di passare gli argomenti da linea di comando sono hard- li codifica nel file di build in questo modo:

<arg line="arg1 arg2"/>

Tutte le idee su h Posso usare le variabili nel file di build e caricarle dagli argomenti della riga di comando e poi usarle nel mio programma java?

risposta

4

Il modo più semplice è quello di trasformare lo script in proprietà di sistema tramite -D.

Il tuo file di formica può quindi utilizzare quelli per impostare le proprietà delle formiche che possono essere impostate nel tag <arg> (o referenziate direttamente, anche se la mia preferenza sarebbe quella di impostare proprietà ant, ma che potrebbe essere più per abitudine che per qualsiasi motivo tecnico).

+0

Non so molto di ant. ma lo script ant che abbiamo sta chiamando la vera formica con qualcosa del genere: my $ cmdline = "$ ENV {JAVA_HOME}/bin/java -Xmx512m -Djava.ext.dirs = \" $ ENV {EXT_DIRS} \ "- Dant.home = $ ENV {ANT_HOME} org.apache.tools.ant.Main -emacs $ inp "; dove $ inp è l'intero comando che diamo alla riga di comando. E 'di questo che stavi parlando? – comatose

+0

@comatose Probabilmente. Il mio approccio voleva dividere '$ inp' e trasformarli in parametri' -D'. Non so in che altro modo accedere ai parametri della riga di comando nel file di build, anche se se hai passato del tempo con il manuale di Ant, potrebbe essere davvero semplice: non l'ho mai fatto. –

Problemi correlati