CLI di Apache Commons - Opzione argomento
Un'opzione Argomento è rappresentata su una riga di comando dal suo nome e dal valore corrispondente. Ad esempio, se l'opzione è presente, l'utente deve passare il suo valore. Considera il seguente esempio, se stiamo stampando log su un file, per il quale, vogliamo che l'utente inserisca il nome del file di log con l'argomento opzione logFile.
Esempio
CLITester.java
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CLITester {
public static void main(String[] args) throws ParseException {
Options options = new Options();
Option logfile = Option.builder()
.longOpt("logFile")
.argName("file" )
.hasArg()
.desc("use given file for log" )
.build();
options.addOption(logfile);
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
// has the logFile argument been passed?
if(cmd.hasOption("logFile")) {
//get the logFile argument passed
System.out.println( cmd.getOptionValue( "logFile" ) );
}
}
}
Produzione
Esegui il file, passando --logFile come opzione, nome del file come valore dell'opzione e vedi il risultato.
java CLITester --logFile test.log
test.log