protected void forkJavaVM(String[] args)
            throws MojoExecutionException {
        try {
            final Commandline commandLine = new Commandline();
            commandLine.setExecutable(getJavaExecutable().getAbsolutePath());
            commandLine.setWorkingDirectory(workingDirectory.getAbsolutePath());
            commandLine.addArguments(args);
            final StreamConsumer stdout = new StreamConsumer() {

                public void consumeLine(String line) {
                    getLog().info(line);
                }

            };
            final StreamConsumer stderr = new StreamConsumer() {

                public void consumeLine(String line) {
                    getLog().error(line);
                }

            };
            int ret = CommandLineUtils.executeCommandLine(commandLine, stdout, stderr);
            if (ret != 0) {
                throw new MojoExecutionException("RubyRunMain exited with status code: " + ret);
            }
        } catch (CommandLineException ex) {
            throw new MojoExecutionException(ex.getMessage(), ex);
        }
    }