Index: src/java/org/apache/ivy/util/cli/CommandLineParser.java =================================================================== --- src/java/org/apache/ivy/util/cli/CommandLineParser.java (revision 706161) +++ src/java/org/apache/ivy/util/cli/CommandLineParser.java (working copy) @@ -54,9 +54,12 @@ public CommandLine parse(String[] args) throws ParseException { CommandLine line = new CommandLine(); + boolean keepScanning = true; for (ListIterator iterator = Arrays.asList(args).listIterator(); iterator.hasNext();) { String arg = (String) iterator.next(); - if (arg.startsWith("-")) { + if (keepScanning && "--".equals(arg)) { + keepScanning = false; + } else if (keepScanning && arg.startsWith("-")) { Option option = (Option) options.get(arg.substring(1)); if (option == null) { throw new ParseException("Unrecognized option: " + arg); @@ -64,10 +67,11 @@ line.addOptionValues(arg.substring(1), option.parse(iterator)); } else { // left over args - int index = iterator.previousIndex() + 1; + int index = iterator.previousIndex() + (keepScanning ? 1 : 0); String[] leftOverArgs = new String[args.length - index]; System.arraycopy(args, index, leftOverArgs, 0, leftOverArgs.length); line.setLeftOverArgs(leftOverArgs); + break; } } return line;