2012-07-20 10 views
5

Ich frage mich nur, gibt es einen Weg in der Apache Commons CLI-Bibliothek zu spezifizieren, dass genau ein Argument zur Verfügung gestellt werden muss?Erfordern Sie ein Argument nur in Apache Commons CLI?

z. Ich habe 2 Befehlszeilenargumente, aber einer (nicht mehr oder nicht weniger) muss zur Verfügung gestellt werden? Ich möchte entweder die IP oder msisdn, aber nicht weder beide und nicht beide:

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("ip")); 

OptionBuilder.hasArg(true); 
OptionBuilder.withDescription("Bla bla"); 
OptionBuilder.isRequired(false); 
commandLineOptions.addOption(OptionBuilder.create("msisdn")); 

Vielen Dank!

Antwort

8

Es sieht so aus, als ob Sie eine OptionGroup wünschen, die die beiden gegenseitig ausschließenden Werte Option enthält. Fügen Sie diese Optionsgruppe zu commandLineOptions hinzu.

(Dies ist nur eine Vermutung auf der Dokumentation. Ich habe eigentlich nie das Projekt selbst ... verwendet)

+0

Dank Jon, das funktioniert. – Rory