Package org.eclipse.jdt.launching
Class AbstractVMRunner
- java.lang.Object
-
- org.eclipse.jdt.launching.AbstractVMRunner
-
-
Constructor Summary
Constructors Constructor Description AbstractVMRunner()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
abort(String message, Throwable exception, int code)
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
exec(String[] cmdLine, File workingDirectory)
Executes the given command line using the given working directoryprotected Process
exec(String[] cmdLine, File workingDirectory, String[] envp)
Executes the given command line using the given working directory and environmentprotected Process
exec(String[] cmdLine, File workingDirectory, String[] envp, boolean mergeOutput)
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.protected Map<String,String>
getDefaultProcessMap()
Returns the default process attribute map for Java processes.protected abstract String
getPluginIdentifier()
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 IProcess
newProcess(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
-
-
-
-
Method Detail
-
abort
protected void abort(String message, Throwable exception, int code) throws 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:
CoreException
- The exception encapsulating the reason for the abort
-
getPluginIdentifier
protected abstract String 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 CoreException
Executes the given command line using the given working directory- Parameters:
cmdLine
- the command lineworkingDirectory
- the working directory- Returns:
- the
Process
- Throws:
CoreException
- if the execution fails- See Also:
DebugPlugin.exec(String[], File)
-
exec
protected Process exec(String[] cmdLine, File workingDirectory, String[] envp) throws 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:
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 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:
CoreException
- is the execution fails- Since:
- 3.15
- See Also:
DebugPlugin.exec(String[], File, String[])
-
getCmdLineAsString
protected String getCmdLineAsString(String[] cmdLine)
Returns the given array of strings as a single space-delimited string.- Parameters:
cmdLine
- array of strings- Returns:
- a single space-delimited string
-
getDefaultProcessMap
protected Map<String,String> getDefaultProcessMap()
Returns the default process attribute map for Java processes.- Returns:
- default process attribute map for Java processes
-
newProcess
protected IProcess newProcess(ILaunch launch, Process p, String label, Map<String,String> attributes) throws CoreException
Returns 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:
CoreException
- problems occurred creating the process- Since:
- 3.0
-
combineVmArgs
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.- Parameters:
configuration
- runner configurationvmInstall
- VM install- Returns:
- combined VM arguments specified by the runner configuration and VM install
- Since:
- 3.0
-
isModular
protected boolean isModular(VMRunnerConfiguration config, IVMInstall vmInstall)
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
-
-