2011-01-22 21 views
26

De acuerdo, sé que hay probablemente una docena de formas de resolver esto, pero estoy buscando una aplicación básica o algún tipo de tutorial que explique la mejor manera de escribir un marco para crear herramientas de línea de comandos basadas en Java. Si mi programa requiere una gran cantidad de conmutadores/opciones/etc., ¿cuál es la mejor manera de manejarlos a todos?¿Cuál es la mejor manera de escribir una aplicación de línea de comandos en Java?

¿Cómo se decide qué elementos se deben colocar en un archivo de opciones/configuraciones, y qué cosas se ponen en la línea de comandos? Cualquier tipo de código de muestra sería genial, de esa manera puedo dedicar más mi tiempo al enfoque central de mi aplicación en lugar de a la línea de comando de plomería.

+0

Encontré [esto] [1]. ¿Qué piensan ustedes? [1]: http: //www.devx.com/getHelpOn/10MinuteSolution/16715 – gonzobrains

Respuesta

0

La respuesta anterior parece abarcar lo que desea saber para escribir la aplicación. En cuanto a su pregunta sobre qué debería ir en los archivos de configuración y cuáles deberían ser las opciones de línea de comando, lo recomendaría. Si la opción es algo que probablemente tenga el mismo valor la mayor parte del tiempo, colóquelo en una configuración. Si es algo que cambia con frecuencia lo convierten en una opción, pero recuerda que las opciones DEBEN ser opcionales, intente no crear un programa que alguien tenga que escribir en un montón de cosas necesarias para que haga su función base.

+0

Gracias por la respuesta. No estoy seguro de si el programa que necesito va a ser utilizado por un ser humano o por un archivo por lotes o algún otro proceso de servidor automatizado. Pero haré caso de tu consejo. Además, ¿qué debo hacer si un comando en particular tiene una gran cantidad de datos para pasar? Poner todo en la línea de comando puede ser demasiado, así que estoy pensando en pasar un nombre de archivo en la línea de comando y luego dejar que el programa lea en el archivo. – gonzobrains

+0

Si no es una entrada humana, no crearía el archivo adicional a menos que lo quisiera para un registro o algo así. Simplemente estás creando pasos adicionales que probablemente te lleven a dolores de cabeza, IMO. Podría ayudarnos a conocer la naturaleza de su programa. – UserZer0

3

¿Cómo se decide qué cosas se deben colocar en un archivo de opciones/configuraciones, y qué cosas se ponen en la línea de comandos?

No hay tal dilema, muchas cosas son útiles en ambos lugares. Con el archivo de configuración, permite que el usuario defina los valores predeterminados y con la línea de comando permite que el usuario los anule. Por supuesto, hay casos en que solo uno de los dos tiene sentido, pero tomaría como punto de partida ambos.

7

También sugiero mirar JCommander (http://jcommander.org/), escrito por el autor de TestNG. Lo he usado con éxito en muchas aplicaciones de línea de comandos.

Cuestiones relacionadas