Parsing della riga di comando in Java con JCLAP
Praticamente tutte le librerie per il parsing della riga di comando in Java, sono abbastanza simili.
Ce ne stanno alcuni che sono un pò più compatti, e tra c'è JCLAP!
Per installarla usando Maven:
<dependency>
<groupId>net.snaq</groupId>
<artifactId>jclap</artifactId>
<version>1.4</version>
</dependency>
Questo un codice di esempio:
import snaq.util.jclap.CLAParser;
import snaq.util.jclap.Option;
import snaq.util.jclap.OptionException;
public class Main {
public static void main(String[] args) {
// String[] arguments = {"-n", "Mattepuffo"};
String[] arguments = {"-n", "Mattepuffo", "-v"};
// String[] arguments = {"-v"};
CLAParser parser = new CLAParser();
try {
Option fileNameOption =
parser.addStringOption("n", "nome", "Tuo nome", 1, 1);
Option verbosityOption =
parser.addBooleanOption("v", "verbose", "Verbosità attiva o no");
parser.parse(arguments);
System.out.println("Nome: " + parser.getOptionValue(fileNameOption));
System.out.println("Verbosità? " + parser.getOptionValue(verbosityOption));
} catch (OptionException ex) {
System.out.println(ex.getMessage());
parser.printUsage(System.out, true);
}
}
}
Abbiamo impostato nome come obbligatorio; potete vedere che i vari metodi addXXX hanno vari overload.
Se un parametro obbligatorio non viene passato, il programma va in eccezione.
In quel caso visualiziamo il menu di utilizzo.
Molto easy!
Enjoy!
java jclap maven
Commentami!