Sto scrivendo un'applicazione da riga di comando in Java e ho scelto Apache Commons CLI per analizzare gli argomenti di input.Commons Gruppi richiesti CLI
Diciamo che ho due opzioni richieste (es. -informazioni e -output). Creo un nuovo oggetto Option e imposta il flag richiesto. Per ora va tutto bene. Ma ho terzo, opzione non richiesta, vale a dire. -Aiuto. Con le impostazioni che ho menzionato, quando l'utente vuole mostrare aiuto (usa l'opzione -help) dice "-input e -output" sono obbligatori. C'è un modo per implementarlo (tramite l'API CLI di Commons, non semplice se (! HasOption) lanciare la nuova XXXException()).
Ok. Ma come posso dire che non ho trovato la partita? ("e se non viene trovata alcuna corrispondenza")? Se imposto la flag richiesta ottengo ParseExeception, ma quando passo l'opzione che non è disponibile ricevo anche ParseException :(Come posso differenziare questi casi? – pavel
Sai se hai una corrispondenza quando 'commandline.getOptions()' isn ' t vuoto –
Ok. È possibile una soluzione, ma per quanto riguarda la gestione delle opzioni non supportate? Le opzioni disponibili sono -help, -input, -output. L'utente pone -test. Quindi devo controllare il primo set (con HELP) per determinare se l'aiuto è stato trovato o no, se è stata lanciata l'opzione UnrecognizedOptionException, ho bisogno di analizzare il secondo set di opzioni? Quindi prova semplicemente {parsefirstSet() if (not_found) parseSecondSet() catch (ParserException) {parseSecondSet()}? Mi manca qualcosa o è quello che hai suggerito. Grazie per l'aiuto btw :) – pavel