--- Main.java.orig 2007-04-25 11:59:55.641651421 -0500 +++ Main.java 2007-04-25 12:05:04.978382359 -0500 @@ -336,8 +336,16 @@ } } if (line.hasOption("main")) { - invoke(ivy, cache, md, confs, line.getOptionValue("main"), - line.getOptionValues("args")); + String[] fargs = line.getOptionValues("args"); + if (fargs == null) + fargs = new String[0]; + String[] extra = line.getArgs(); + if (extra == null) + extra = new String[0]; + String[] params = new String[fargs.length + extra.length]; + System.arraycopy(fargs, 0, params, 0, fargs.length); + System.arraycopy(extra, 0, params, fargs.length, params.length); + invoke(ivy, cache, md, confs, line.getOptionValue("main"), params); } } catch( ParseException exp ) { // oops, something went wrong