JewelCLI est un Bibliothèque Java pour l'analyse syntaxique des lignes de commande qui produit un code propre . Il utilise des interfaces proxy configurées avec des annotations pour construire dynamiquement une API sécurisée pour vos paramètres de ligne de commande.
Un exemple d'interface de paramètres Person.java
:
import uk.co.flamingpenguin.jewel.cli.Option;
public interface Person {
@Option String getName();
@Option int getTimes();
}
Un exemple d'utilisation de l'interface des paramètres Hello.java
:
import static uk.co.flamingpenguin.jewel.cli.CliFactory.parseArguments;
import uk.co.flamingpenguin.jewel.cli.ArgumentValidationException;
public class Hello {
public static void main(String [] args) {
try {
Person person = parseArguments(Person.class, args);
for (int i = 0; i < person.getTimes(); i++)
System.out.println("Hello " + person.getName());
} catch(ArgumentValidationException e) {
System.err.println(e.getMessage());
}
}
}
Sauvegardez des copies des fichiers ci-dessus dans un seul répertoire et téléchargez l'application JewelCLI 0.7.6 JAR dans ce répertoire également.
Compilez et exécutez l'exemple en Bash sur Linux/Mac OS X/etc :
javac -cp jewelcli-0.7.6.jar:. Person.java Hello.java
java -cp jewelcli-0.7.6.jar:. Hello --name="John Doe" --times=3
Compilez et exécutez l'exemple dans l'invite de commande Windows :
javac -cp jewelcli-0.7.6.jar;. Person.java Hello.java
java -cp jewelcli-0.7.6.jar;. Hello --name="John Doe" --times=3
L'exécution de l'exemple devrait produire le résultat suivant :
Hello John Doe
Hello John Doe
Hello John Doe