--- AbstractVMRunner.orig.java Mon Jun 11 16:36:38 2012 +++ AbstractVMRunner.java Mon Jun 11 16:22:10 2012 @@ -141,9 +141,11 @@ LaunchingPlugin.log(e.getStatus()); } } - final String[] allVMArgs = new String[launchVMArgs.length + vmVMArgs.length]; - System.arraycopy(launchVMArgs, 0, allVMArgs, 0, launchVMArgs.length); - System.arraycopy(vmVMArgs, 0, allVMArgs, launchVMArgs.length, vmVMArgs.length); + // merge default VM + launcher VM arguments. Make sure to pass launcher arguments in last so that + // they can take precedence over the default VM args! + final String[] allVMArgs = new String[vmVMArgs.length + launchVMArgs.length]; + System.arraycopy(vmVMArgs, 0, allVMArgs, 0, vmVMArgs.length); + System.arraycopy(launchVMArgs, 0, allVMArgs, vmVMArgs.length, launchVMArgs.length); return allVMArgs; } }