Package org.eclipse.jdt.launching

## Interface IVMRunner

All Known Implementing Classes:
  `AbstractVMRunner`

    public interface IVMRunner

A VM runner starts a Java VM running a Java program.

Clients may implement this interface to launch a new kind of VM.

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`void` `run​(VMRunnerConfiguration configuration, ILaunch launch, IProgressMonitor monitor)` Launches a Java VM as specified in the given configuration, contributing results (debug targets and processes), to the given launch.
`default String` `showCommandLine​(VMRunnerConfiguration configuration, ILaunch launch, IProgressMonitor monitor)` Gets the command line required to launch a Java VM as specified in the given configuration, contributing results (debug targets and processes), to the given launch.

### Method Detail

#### run

    void run​(VMRunnerConfiguration configuration,
             ILaunch launch,
             IProgressMonitor monitor)
      throws CoreException

Launches a Java VM as specified in the given configuration, contributing results (debug targets and processes), to the given launch.

Parameters:
  `configuration` - the configuration settings for this run
  `launch` - the launch to contribute to
  `monitor` - progress monitor or `null` A cancelable progress monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should never be called on the provided monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
Throws:
  `CoreException` - if an exception occurs while launching

#### showCommandLine

    default String showCommandLine​(VMRunnerConfiguration configuration,
                                   ILaunch launch,
                                   IProgressMonitor monitor)
                            throws CoreException

Gets the command line required to launch a Java VM as specified in the given configuration, contributing results (debug targets and processes), to the given launch.

Parameters:
  `configuration` - the configuration settings for this run
  `launch` - the launch to contribute to
  `monitor` - progress monitor or `null` A cancelable progress monitor is provided by the Job framework. It should be noted that the setCanceled(boolean) method should never be called on the provided monitor or the monitor passed to any delegates from this method; due to a limitation in the progress monitor framework using the setCanceled method can cause entire workspace batch jobs to be canceled, as the canceled flag is propagated up the top-level parent monitor. The provided monitor is not guaranteed to have been started.
Returns:
  the command line string
Throws:
  `CoreException` - if an exception occurs while getting the command line
Since:
  3.11