jeudi 30 juillet 2009

java : apache : commons cli

Voici, un petit extrait de code permettant de faire des batchs avec des arguments professionnel ... Pour cela, il faut la librairie apache commons-cli (command line arguments)

voila comment ajouter un argument d à la ligne de commande :

Option srcDirOpt = OptionBuilder.withArgName("sourceDirectory").hasArg().isRequired().withDescription( "specifie le repertoire source").create("d");


Il faut noter que l'option -d possède un argument obligatoire (hasArg().isRequired()), et on y ajoute une description ...

Ensuite, on crée une liste d'options ...
Options options = new Options();

// ajout des options

options.addOption(srcDirOpt);


Ensuite, on instancie un parseur (ici les arguments seront de type GNU
// creation du parseurs

CommandLineParser parseur = new GnuParser();



Ensuite, Le parseur parse la ligne de commande ...
CommandLine commandLine = parseur.parse(options, args);


Si la syntaxe est respectée, il est facile de récupérer les arguments de la ligne de commande ... en nommant les optiond -d
String srcDirValue = commandLine.getOptionValue("-d");


Ce qui donne pour mon programme ...
java MonAppi -d /users/prod3/sidef/src/

Voici, une option sympa pour afficher une ligne d'aide formaté à GNU (la classe HelpFormater)

private static void printUsages(Options options) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp(CpCvs.class.getName(), options);
}

Aucun commentaire:

Enregistrer un commentaire