2012-06-29 26 views
5

Quiero pasar argumentos de línea de comandos a mi programa java que se invoca a través de una hormiga falsa (tenemos nuestra propia secuencia de comandos ant en perl que en algún momento llama a la hormiga real). Así que lo que quiero hacer es invocar mi programa como este:pasar argumentos a java a través de horm

./ant program_name arg1 arg2

En este momento tengo una tarea ant para mi programa, pero en lugar de pasar los argumentos de la línea de comandos Soy hardware ellos codificación en el fichero de construcción como esta:

<arg line="arg1 arg2"/>

Ideas en h ¿Cómo puedo usar variables en el archivo de compilación y cargarlas desde los argumentos de la línea de comando y luego usarlas en mi programa java?

Respuesta

4

Lo más fácil podría ser que su secuencia de comandos se convierta en propiedades del sistema a través de -D.

Su archivo de compilación de ant debe poder usar esos para configurar las propiedades ant que pueden establecerse en la etiqueta <arg> (o hacer referencia directamente, aunque mi preferencia sería establecer propiedades ant, pero eso puede ser más por hábito que para cualquier razón técnica).

+0

No sé mucho sobre hormiga. pero el guion de la hormiga que tenemos está llamando a la hormiga real con algo como esto: 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 "; donde $ inp es todo el comando que damos en la línea de comando. Es eso de lo que estabas hablando ? – comatose

+0

@comatose Probablemente. Mi enfoque significaba dividir '$ inp' y convertir cada uno en parámetros denominados' -D'. No estoy seguro de cómo más acceder a los parámetros de la línea de comandos en el archivo de compilación, aunque si pasaste algo de tiempo con el manual de Ant, podría ser realmente fácil, pero nunca lo hice. –

Cuestiones relacionadas