Estoy escribiendo aplicaciones de línea de comandos en Java y he elegido Apache Commons CLI para analizar los argumentos de entrada.CLI Commons requiere grupos
Digamos que tengo dos opciones requeridas (es decir, -input and -output). Creo un nuevo objeto Opción y establezco el indicador requerido. Por ahora todo está bien. Pero tengo en tercer lugar, no se requiere la opción, es decir. -ayuda. Con la configuración que mencioné, cuando el usuario quiere mostrar ayuda (use la opción -ayuda) dice "se requiere -input and -output". ¿Hay alguna forma de implementar esto (a través de la API CLI de Commons, no es simple si (! HasOption) arroja la nueva XXXException()).
Ok. ¿Pero cómo puedo decir que no he encontrado el partido? ("y si no se encuentra una coincidencia")? Si configuro el indicador requerido, obtengo la excepción ParseExeception, pero cuando paso la opción que no está disponible obtengo ParseException también :(¿Cómo puedo diferenciar estos casos? – pavel
Sabes si tienes una coincidencia cuando 'commandline.getOptions()' isn ' t vacío. –
Ok. Es posible solución. Pero ¿qué pasa con el manejo de opciones no compatibles? Las opciones disponibles son -ayuda, -input, -output. El usuario pone -test. Luego tengo que verificar el primer conjunto (con HELP) para determinar si la ayuda se encontró o no. Si no, o si se lanzó UnRecognizedOptionException, entonces necesito analizar el segundo conjunto de opciones, así que simplemente pruebe {parsefirstSet() if (not_found) parseSecondSet() catch (ParserException) {parseSecondSet()}? Me falta algo o es lo que sugirió. Gracias por la ayuda :) :) – pavel