public class Test { public static void main(String[] args) { try { if (Debug.ENABLED) for (String s : args) Debug.print(null, "Arguments are: " + s); // get new CommandLineParser CmdLineParser parser = new CmdLineParserImpl(); // Use OptionBuilder class to build new Options OptionBuilder.buildNewOption("funf", 'f'); //OptionBuilder.setRequired(); OptionBuilder.setDescription("BLALAAAAÖSLJDLKSAJDLK lkasjdlas jaslkdj slasdj lakdsjasd ajkdlasd adksldajda lasjdsaldkj lasdk alsjdaldj "); IntegerOption funfOption = OptionBuilder.getNewIntegerOption(); OptionBuilder.buildNewOption("hans", 'h'); StringOption hansOption = OptionBuilder.getNewStringOption(); OptionBuilder.buildNewOption("affe", 'a'); BooleanOption affeOption = OptionBuilder.getNewBooleanOption(); OptionBuilder.buildNewOption("vud", 'v'); VoidOption vudOption = OptionBuilder.getNewVoidOption(); OptionBuilder.buildNewOption("top", 't'); VoidOption topOption = OptionBuilder.getNewVoidOption(); // Register created options to parser parser.registerOption(funfOption); parser.registerOption(hansOption); parser.registerOption(affeOption); parser.registerOption(vudOption); parser.registerOption(topOption); //parser.removeAllStrategies(); //parser.addStrategy(new MultipleValueStrategy()); //parser.addStrategy(new SimpleStrategy()); //parser.addStrategy(new MultipleShortOptionStrategy()); // Parser returns not recognized command line arguments after parsing String[] unknown = parser.parse(args); /* "getValues()" will return a list of values for an option. * use "getValues().get(0)" if you expect the option to have only one value. * "getValues()" needs a ".class" object when calling to properly cast * result. */ List<String> hansValue = parser.getValues('h', String.class); boolean hansSet = parser.isSet('h'); List<String> funfValue = parser.getValues('f', String.class); boolean funfSet = parser.isSet('f'); List<Boolean> affeValue = parser.getValues('a', Boolean.class); boolean affeSet = parser.isSet('a'); List<Void> vudValue = parser.getValues('v', Void.class); boolean vudSet = parser.isSet('v'); List<Void> topValue = parser.getValues('t', Void.class); boolean topSet = parser.isSet('t'); System.out.println("Option " + funfOption + ": Value: " + funfValue + ", Set: " + funfSet); System.out.println("Option " + hansOption + ": Value: " + hansValue + ", Set: " + hansSet); System.out.println("Option " + affeOption + ": Value: " + affeValue + ", Set: " + affeSet); System.out.println("Option " + vudOption + ": Value: " + vudValue + ", Set: " + vudSet); System.out.println("Option " + topOption + ": Value: " + topValue + ", Set: " + topSet); System.out.println("unknown command line arguments: " + Arrays.toString(unknown)); System.exit(0); } catch (NoValueExeption e) { System.err.println(e.toString()); System.exit(1); } catch (NumberFormatException e) { System.err.println(e.toString()); System.exit(1); } catch (OptionNotSetException e) { System.err.println(e.toString()); System.exit(1); } catch(Throwable t){ System.err.print(t.toString()); System.exit(2); } } }