[ https://issues.apache.org/jira/browse/CLI-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576032#comment-13576032 ]
Thomas Neidhart commented on CLI-230: ------------------------------------- Ok good, it is advised to ask questions first on the user mailinglist (u...@commons.apache.org) with the prefix [cli]. The warnings you get when using the OptionBuilder are due to the fact that all methods there are static. The 1.3 release will provide a different way to build options using a Builder class in the Option class itself. The problem with the required options list will need a fix though to prevent such mistakes. > Unable to properly require options > ---------------------------------- > > Key: CLI-230 > URL: https://issues.apache.org/jira/browse/CLI-230 > Project: Commons CLI > Issue Type: Bug > Components: CLI-1.x, Options definition > Affects Versions: 1.2 > Environment: windows jdk1.6.0_21 > Reporter: Alexander Fast > > Having some problems setting options as required. Have I misunderstood the > documentation? > * In test1() the option is required but also supplied, I expect to get no > exceptions. > * In test2() the option is required but *not* supplied, I expect to get an > exception. > {code:java} > public class Testing { > public static void main(String[] args) { > System.out.println("Begin test 1"); > test1(); > System.out.println("End test 1"); > System.out.println("Begin test 2"); > test2(); > System.out.println("End test 2"); > } > private static void test1() { > String[] args = new String[] { "--foo" }; > Options options = new Options(); > options.addOption("f", "foo", false, ""); > options.getRequiredOptions().add(options.getOption("foo")); > GnuParser parser = new GnuParser(); > try { > parser.parse(options, args); > } catch (ParseException e) { > // didn't expect to get MissingOptionException here > System.out.println("ERROR: " + e.getMessage()); > } > } > private static void test2() { > String[] args = new String[] { }; > Options options = new Options(); > options.addOption("f", "foo", false, ""); > options.getOption("f").setRequired(true); > GnuParser parser = new GnuParser(); > try { > parser.parse(options, args); > } catch (ParseException e) { > // expected to get MissingOptionException here > System.out.println("ERROR: " + e.getMessage()); > } > } > } > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira