[Apache CLI] Problème de parse
Bonjour a tous,
J'utilise pour la première fois l'API apache CLI pour parser ma ligne de commande.
Malheureusement ceci ne fonctionne pas:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
private static void parseArg(String[] args) {
for(int i=0;i<args.length;i++)
System.out.println(args[i]);
Options optionsGroup=new Options();
Option optVersion=new Option("version","Version of iusdfg");
optVersion.setRequired(true);
optionsGroup.addOption(optVersion);
Option optNasFolderRoot=new Option("nas","Path to NAS root folder");
optNasFolderRoot.setRequired(false);
optionsGroup.addOption(optNasFolderRoot);
Option optHomeBinFolder=new Option("srcBin","Path to binary source folder");
optHomeBinFolder.setRequired(false);
optionsGroup.addOption(optHomeBinFolder);
GnuParser gnuParser=new GnuParser();
CommandLine cmdLine=null;
try {
cmdLine=gnuParser.parse(optionsGroup, args);
}
catch ( ParseException e ) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("EasyUseDumpFile -version X.X.X.X [-nas pathToRootNasFolder] [-srcBin pathToBinarySourceFolder]", optionsGroup);
System.exit(-1);
}
init( cmdLine);
}
private static void init(CommandLine cmdLine) {
System.out.println("Version param exist: "+cmdLine.hasOption("version"));
String version=cmdLine.getOptionValue("version");
System.out.println("Version value: "+version);
} |
Ce code me retourne
Code:
1 2 3 4 5 6 7 8 9
|
-nas
C:\Users\toto\Desktop\EasyDump
-srcBin
C:\Users\toto\Desktop\tewApp
-version
2013.0.0
Version param exist: true
Version value: null |
Donc le problème est que le paramètre "version" existe, mais pas moyen de récupérer sa valeur. :aie:
Donc avez vous une idée du problème ?
Je n'utilise pas bien l'API ?
Je vous remercie par avance pour votre aide ;)
EDIT:
j'ai trouver, il suffisait de rajouter setArgs(1) sur mes option :ccool: