Package org.eclipse.jdt.launching
Class AbstractVMRunner
java.lang.Object
org.eclipse.jdt.launching.AbstractVMRunner
- All Implemented Interfaces:
IVMRunner
Abstract implementation of a VM runner.
Clients implementing VM runners should subclass this class.
- Since:
- 2.0
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Throws a core exception with an error status object built from the given message, lower level exception, and error code.protected String[]
combineVmArgs
(VMRunnerConfiguration configuration, IVMInstall vmInstall) Combines and returns VM arguments specified by the runner configuration, with those specified by the VM install, if any.protected Process
Executes the given command line using the given working directoryprotected Process
Executes the given command line using the given working directory and environmentprotected Process
Executes the given command line using the given working directory and environmentprotected String
getCmdLineAsString
(String[] cmdLine) Returns the given array of strings as a single space-delimited string.Returns the default process attribute map for Java processes.protected abstract String
Returns the identifier of the plug-in this VM runner originated from.protected boolean
isModular
(VMRunnerConfiguration config, IVMInstall vmInstall) Examines the project and install for presence of module and execution support.protected org.eclipse.debug.core.model.IProcess
newProcess
(org.eclipse.debug.core.ILaunch launch, Process p, String label, Map<String, String> attributes) Returns a new process aborting if the process could not be created.protected static String[]
quoteWindowsArgs
(String[] cmdLine) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jdt.launching.IVMRunner
run, showCommandLine
-
Constructor Details
-
AbstractVMRunner
public AbstractVMRunner()
-
-
Method Details
-
abort
protected void abort(String message, Throwable exception, int code) throws org.eclipse.core.runtime.CoreException Throws a core exception with an error status object built from the given message, lower level exception, and error code.- Parameters:
message
- the status messageexception
- lower level exception associated with the error, ornull
if nonecode
- error code- Throws:
org.eclipse.core.runtime.CoreException
- The exception encapsulating the reason for the abort
-
getPluginIdentifier
Returns the identifier of the plug-in this VM runner originated from.- Returns:
- plug-in identifier
-
exec
protected Process exec(String[] cmdLine, File workingDirectory) throws org.eclipse.core.runtime.CoreException Executes the given command line using the given working directory- Parameters:
cmdLine
- the command lineworkingDirectory
- the working directory- Returns:
- the
Process
- Throws:
org.eclipse.core.runtime.CoreException
- if the execution fails- See Also:
-
DebugPlugin.exec(String[], File)
-
exec
protected Process exec(String[] cmdLine, File workingDirectory, String[] envp) throws org.eclipse.core.runtime.CoreException Executes the given command line using the given working directory and environment- Parameters:
cmdLine
- the command lineworkingDirectory
- the working directoryenvp
- the environment- Returns:
- the
Process
- Throws:
org.eclipse.core.runtime.CoreException
- is the execution fails- Since:
- 3.0
- See Also:
-
DebugPlugin.exec(String[], File, String[])
-
exec
protected Process exec(String[] cmdLine, File workingDirectory, String[] envp, boolean mergeOutput) throws org.eclipse.core.runtime.CoreException Executes the given command line using the given working directory and environment- Parameters:
cmdLine
- the command lineworkingDirectory
- the working directoryenvp
- the environmentmergeOutput
- iftrue
the error stream will be merged with standard output stream and both can be read through the same output stream- Returns:
- the
Process
- Throws:
org.eclipse.core.runtime.CoreException
- is the execution fails- Since:
- 3.15
- See Also:
-
DebugPlugin.exec(String[], File, String[])
-
quoteWindowsArgs
- Since:
- 3.11
-
getCmdLineAsString
Returns the given array of strings as a single space-delimited string.- Parameters:
cmdLine
- array of strings- Returns:
- a single space-delimited string
-
getDefaultProcessMap
Returns the default process attribute map for Java processes.- Returns:
- default process attribute map for Java processes
-
newProcess
protected org.eclipse.debug.core.model.IProcess newProcess(org.eclipse.debug.core.ILaunch launch, Process p, String label, Map<String, String> attributes) throws org.eclipse.core.runtime.CoreExceptionReturns a new process aborting if the process could not be created.- Parameters:
launch
- the launch the process is contained inp
- the system process to wraplabel
- the label assigned to the processattributes
- values for the attribute map- Returns:
- the new process
- Throws:
org.eclipse.core.runtime.CoreException
- problems occurred creating the process- Since:
- 3.0
-
combineVmArgs
Combines and returns VM arguments specified by the runner configuration, with those specified by the VM install, if any.- Parameters:
configuration
- runner configurationvmInstall
- VM install- Returns:
- combined VM arguments specified by the runner configuration and VM install
- Since:
- 3.0
-
isModular
Examines the project and install for presence of module and execution support.- Parameters:
config
- runner configurationvmInstall
- VM install- Returns:
true
if project is a module and uses JRE version 9 or more, orfalse
otherwise- Since:
- 3.10
-