2012-07-20 12 views
5

Me pregunto si hay alguna forma en la biblioteca CLI de Apache Commons para especificar que se debe proporcionar exactamente un argumento.¿Requiere un solo argumento en Apache Commons CLI?

E.g. Tengo 2 argumentos de línea de comando, pero se debe proporcionar uno (ni más ni menos). Quiero el ip o msisdn, pero no ninguno ni ambos:

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("ip")); 

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("msisdn")); 

¡Muchas gracias!

Respuesta

8

Parece que quiere un OptionGroup requerido que contenga los dos valores mutuamente exclusivos Option. Agregue ese grupo de opciones al commandLineOptions.

(Esto sólo es una conjetura basada en la documentación. En realidad nunca he utilizado el mismo proyecto ...)

+0

Gracias Jon, esto funciona. – Rory

Cuestiones relacionadas