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:
Ce code me retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Donc le problème est que le paramètre "version" existe, mais pas moyen de récupérer sa valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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![]()
Partager