org.eclipse.jdt.launching
Class JavaRuntime
java.lang.Object
org.eclipse.jdt.launching.JavaRuntime
-
public final class JavaRuntime
- extends
Object
The central access point for launching support. This class manages
the registered VM types contributed through the
"org.eclipse.jdt.launching.vmType"
extension point.
As well, this class provides VM install change notification,
and computes class paths and source lookup paths for launch
configurations.
This class provides static methods only.
-
Restriction:
- This class is not intended to be instantiated by clients.
Method Summary
|
static void
|
addContainerResolver
(
IRuntimeClasspathEntryResolver resolver,
String containerIdentifier)
Registers the given resolver for the specified container. |
static void
|
addVariableResolver
(
IRuntimeClasspathEntryResolver resolver,
String variableName)
Registers the given resolver for the specified variable. |
static void
|
addVMInstallChangedListener
(
IVMInstallChangedListener listener)
Adds the given listener to the list of registered VM install changed
listeners. |
static
String[]
|
computeDefaultRuntimeClassPath
(
IJavaProject jproject)
Computes the default application classpath entries for the given
project. |
static
String[]
|
computeJavaLibraryPath
(
IJavaProject project,
boolean requiredProjects)
Returns a collection of paths that should be appended to the given project's
java.library.path system property when launched. |
static
IRuntimeClasspathEntry
|
computeJREEntry
(
IJavaProject project)
Returns a runtime classpath entry identifying the JRE referenced by the specified
project, or null if none. |
static
IRuntimeClasspathEntry
|
computeJREEntry
(
ILaunchConfiguration configuration)
Returns a runtime classpath entry identifying the JRE to use when launching the specified
configuration or null if none is specified. |
static
IRuntimeClasspathEntry[]
|
computeUnresolvedRuntimeClasspath
(
IJavaProject project)
Computes and returns the default unresolved runtime classpath for the
given project. |
static
IRuntimeClasspathEntry[]
|
computeUnresolvedRuntimeClasspath
(
ILaunchConfiguration configuration)
Computes and returns the unresolved class path for the given launch configuration. |
static
IRuntimeClasspathEntry[]
|
computeUnresolvedSourceLookupPath
(
ILaunchConfiguration configuration)
Computes and returns the unresolved source lookup path for the given launch
configuration. |
static
IVMInstall
|
computeVMInstall
(
ILaunchConfiguration configuration)
Returns the VM install for the given launch configuration. |
static
VMStandin
|
createVMFromDefinitionFile
(
File eeFile,
String name,
String id)
Creates a new VM based on the attributes specified in the given execution
environment description file. |
static void
|
fireVMAdded
(
IVMInstall vm)
Notifies all VM install changed listeners of the VM addition |
static void
|
fireVMChanged
(
PropertyChangeEvent event)
Notifies all VM install changed listeners of the given property change. |
static void
|
fireVMRemoved
(
IVMInstall vm)
Notifies all VM install changed listeners of the VM removal |
static
IRuntimeClasspathProvider
|
getClasspathProvider
(
ILaunchConfiguration configuration)
Returns the classpath provider for the given launch configuration. |
static
String
|
getCompositeIdFromVM
(
IVMInstall vm)
Returns a String that uniquely identifies the specified VM across all VM types. |
static
IClasspathEntry
|
getDefaultJREContainerEntry
()
Creates and returns a classpath entry describing
the default JRE container entry. |
static
IVMConnector
|
getDefaultVMConnector
()
Return the default VM connector. |
static
IVMInstall
|
getDefaultVMInstall
()
Return the default VM set with setDefaultVM() . |
static
String
|
getExecutionEnvironmentId
(
IPath jreContainerPath)
Returns the execution environment identifier in the following JRE
classpath container path, or null if none. |
static
IExecutionEnvironmentsManager
|
getExecutionEnvironmentsManager
()
Returns the execution environments manager. |
static
IJavaProject
|
getJavaProject
(
ILaunchConfiguration configuration)
Return the IJavaProject referenced in the specified configuration or
null if none. |
static
IClasspathEntry
|
getJREVariableEntry
()
Creates and returns a classpath entry describing
the JRE_LIB classpath variable. |
static
LibraryLocation[]
|
getLibraryLocations
(
IVMInstall vm)
Evaluates library locations for a IVMInstall. |
static
String[]
|
getLibraryPaths
(
IClasspathAttribute attribute)
Returns an array of strings referencing shared libraries that should
appear on the -Djava.library.path system property at runtime
for an associated
IClasspathEntry , or null if the
given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY . |
static
Preferences
|
getPreferences
()
Returns the preference store for the launching plug-in. |
static
String
|
getProjectOutputDirectory
(
ILaunchConfiguration config)
Return the String representation of the default output directory of the
launch config's project or null if there is no config, no
project or some sort of problem. |
static
ISourceContainer[]
|
getSourceContainers
(
IRuntimeClasspathEntry[] entries)
Returns a collection of source containers corresponding to the given
resolved runtime classpath entries. |
static
IRuntimeClasspathProvider
|
getSourceLookupPathProvider
(
ILaunchConfiguration configuration)
Returns the source lookup path provider for the given launch configuration. |
static
IVMConnector
|
getVMConnector
(
String id)
Returns the VM connector defined with the specified identifier,
or null if none. |
static
IVMConnector[]
|
getVMConnectors
()
Returns all VM connector extensions. |
static
IVMInstall
|
getVMFromCompositeId
(
String idString)
Return the VM corresponding to the specified composite Id. |
static
IVMInstall
|
getVMInstall
(
IJavaProject project)
Returns the VM assigned to build the given Java project. |
static
IVMInstall
|
getVMInstall
(
IPath jreContainerPath)
Returns the JRE referenced by the specified JRE classpath container
path or null if none. |
static
String
|
getVMInstallName
(
IPath jreContainerPath)
Returns the name of the VM install referenced by the
given JRE classpath container path, or null if none. |
static
IVMInstallType
|
getVMInstallType
(
String id)
Returns the VM install type with the given unique id. |
static
String
|
getVMInstallTypeId
(
IPath jreContainerPath)
Returns the identifier of the VM install type referenced by the
given JRE classpath container path, or null if none. |
static
IVMInstallType[]
|
getVMInstallTypes
()
Returns the list of registered VM types. |
static boolean
|
isContributedVMInstall
(
String id)
Returns whether the VM install with the specified id was contributed via
the vmInstalls extension point. |
static boolean
|
isVMInstallReference
(
IRuntimeClasspathEntry entry)
Returns whether the given runtime classpath entry refers to a vm install. |
static
IRuntimeClasspathEntry
|
newArchiveRuntimeClasspathEntry
(
IPath path)
Returns a new runtime classpath entry for the given archive (possibly
external). |
static
IRuntimeClasspathEntry
|
newArchiveRuntimeClasspathEntry
(
IResource resource)
Returns a new runtime classpath entry for the given archive. |
static
IPath
|
newDefaultJREContainerPath
()
Returns a path for the JRE classpath container identifying the
default VM install. |
static
IRuntimeClasspathEntry
|
newDefaultProjectClasspathEntry
(
IJavaProject project)
Returns a new runtime classpath entry containing the default classpath
for the specified Java project. |
static
IPath
|
newJREContainerPath
(
IExecutionEnvironment environment)
Returns a path for the JRE classpath container identifying the
specified execution environment. |
static
IPath
|
newJREContainerPath
(
IVMInstall vm)
Returns a path for the JRE classpath container identifying the
specified VM install by type and name. |
static
IPath
|
newJREContainerPath
(
String typeId,
String name)
Returns a path for the JRE classpath container identifying the
specified VM install by type and name. |
static
IClasspathAttribute
|
newLibraryPathsAttribute
(
String[] paths)
Creates a new classpath attribute referencing a list of shared libraries that should
appear on the -Djava.library.path system property at runtime
for an associated
IClasspathEntry . |
static
IRuntimeClasspathEntry
|
newProjectRuntimeClasspathEntry
(
IJavaProject project)
Returns a new runtime classpath entry for the given project. |
static
IRuntimeClasspathEntry
|
newRuntimeClasspathEntry
(
String memento)
Returns a runtime classpath entry constructed from the given memento. |
static
IRuntimeClasspathEntry
|
newRuntimeContainerClasspathEntry
(
IPath path,
int classpathProperty)
Returns a runtime classpath entry for the given container path with the given
classpath property. |
static
IRuntimeClasspathEntry
|
newRuntimeContainerClasspathEntry
(
IPath path,
int classpathProperty,
IJavaProject project)
Returns a runtime classpath entry for the given container path with the given
classpath property to be resolved in the context of the given Java project. |
static
IRuntimeClasspathEntry
|
newStringVariableClasspathEntry
(
String expression)
Returns a new runtime classpath entry for the given expression that
may contain string substitution variable references. |
static
IRuntimeClasspathEntry
|
newVariableRuntimeClasspathEntry
(
IPath path)
Returns a new runtime classpath entry for the classpath
variable with the given path. |
static void
|
removeVMInstallChangedListener
(
IVMInstallChangedListener listener)
Removes the given listener from the list of registered VM install changed
listeners. |
static
IRuntimeClasspathEntry[]
|
resolveRuntimeClasspath
(
IRuntimeClasspathEntry[] entries,
ILaunchConfiguration configuration)
Resolves the given classpath, returning the resolved classpath
in the context of the given launch configuration. |
static
IRuntimeClasspathEntry[]
|
resolveRuntimeClasspathEntry
(
IRuntimeClasspathEntry entry,
IJavaProject project)
Returns resolved entries for the given entry in the context of the given
Java project. |
static
IRuntimeClasspathEntry[]
|
resolveRuntimeClasspathEntry
(
IRuntimeClasspathEntry entry,
ILaunchConfiguration configuration)
Returns resolved entries for the given entry in the context of the given
launch configuration. |
static
IRuntimeClasspathEntry[]
|
resolveSourceLookupPath
(
IRuntimeClasspathEntry[] entries,
ILaunchConfiguration configuration)
Resolves the given source lookup path, returning the resolved source lookup path
in the context of the given launch configuration. |
static void
|
savePreferences
()
Saves the preferences for the launching plug-in. |
static void
|
saveVMConfiguration
()
Saves the VM configuration information to the preferences. |
static void
|
setDefaultVMConnector
(
IVMConnector connector,
IProgressMonitor monitor)
Sets a VM connector as the system-wide default VM. |
static void
|
setDefaultVMInstall
(
IVMInstall vm,
IProgressMonitor monitor)
Sets a VM as the system-wide default VM, and notifies registered VM install
change listeners of the change. |
static void
|
setDefaultVMInstall
(
IVMInstall vm,
IProgressMonitor monitor,
boolean savePreference)
Sets a VM as the system-wide default VM, and notifies registered VM install
change listeners of the change. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
JRELIB_VARIABLE
public static final
String JRELIB_VARIABLE
- Classpath variable name used for the default JRE's library
(value
"JRE_LIB"
).
-
See Also:
-
Constant Field Values
JRESRC_VARIABLE
public static final
String JRESRC_VARIABLE
- Classpath variable name used for the default JRE's library source
(value
"JRE_SRC"
).
-
See Also:
-
Constant Field Values
JRESRCROOT_VARIABLE
public static final
String JRESRCROOT_VARIABLE
- Classpath variable name used for the default JRE's library source root
(value
"JRE_SRCROOT"
).
-
See Also:
-
Constant Field Values
EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS
public static final
String EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS
- Simple identifier constant (value
"runtimeClasspathEntryResolvers"
) for the
runtime classpath entry resolvers extension point.
-
Since:
- 2.0
-
See Also:
-
Constant Field Values
EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS
public static final
String EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS
- Simple identifier constant (value
"classpathProviders"
) for the
runtime classpath providers extension point.
-
Since:
- 2.0
-
See Also:
-
Constant Field Values
EXTENSION_POINT_EXECUTION_ENVIRONMENTS
public static final
String EXTENSION_POINT_EXECUTION_ENVIRONMENTS
- Simple identifier constant (value
"executionEnvironments"
) for the
execution environments extension point.
-
Since:
- 3.2
-
See Also:
-
Constant Field Values
EXTENSION_POINT_VM_INSTALLS
public static final
String EXTENSION_POINT_VM_INSTALLS
- Simple identifier constant (value
"vmInstalls"
) for the
VM installs extension point.
-
Since:
- 3.2
-
See Also:
-
Constant Field Values
JRE_CONTAINER
public static final
String JRE_CONTAINER
- Classpath container used for a project's JRE
(value
"org.eclipse.jdt.launching.JRE_CONTAINER"
). A
container is resolved in the context of a specific Java project, to one
or more system libraries contained in a JRE. The container can have zero
or two path segments following the container name. When no segments
follow the container name, the workspace default JRE is used to build a
project. Otherwise the segments identify a specific JRE used to build a
project:
- VM Install Type Identifier - identifies the type of JRE used to build the
project. For example, the standard VM.
- VM Install Name - a user defined name that identifies that a specific VM
of the above kind. For example,
IBM 1.3.1
. This information is
shared in a projects classpath file, so teams must agree on JRE naming
conventions.
Since 3.2, the path may also identify an execution environment as follows:
- Execution environment extension point name
(value
executionEnvironments
)
- Identifier of a contributed execution environment
-
Since:
- 2.0
ERR_UNABLE_TO_RESOLVE_JRE
public static final int ERR_UNABLE_TO_RESOLVE_JRE
- A status code indicating that a JRE could not be resolved for a project.
When a JRE cannot be resolved for a project by this plug-in's container
initializer, an exception is thrown with this status code. A status handler
may be registered for this status code. The
source
object provided
to the status handler is the Java project for which the path could not be
resolved. The status handler must return an IVMInstall
or null
.
The container resolver will re-set the project's classpath if required.
-
Since:
- 2.0
-
See Also:
-
Constant Field Values
PREF_CONNECT_TIMEOUT
public static final
String PREF_CONNECT_TIMEOUT
- Preference key for launch/connect timeout. VM Runners should honor this timeout
value when attempting to launch and connect to a debuggable VM. The value is
an int, indicating a number of milliseconds.
-
Since:
- 2.0
PREF_VM_XML
public static final
String PREF_VM_XML
- Preference key for the String of XML that defines all installed VMs.
-
Since:
- 2.1
PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE
public static final
String PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE
- Preference key for the default problem severity when an execution environment is bound
to a project's build path for which there is no strictly compatible JRE available in the
workspace. Value is one of
JavaCore.ERROR
,
JavaCore.WARNING
, or
JavaCore.IGNORE
-
Since:
- 3.5
ID_PLUGIN
public static final
String ID_PLUGIN
- Unique identifier constant (value
"org.eclipse.jdt.launching"
)
for the Java launching plug-in.
-
Since:
- 3.5
-
See Also:
-
Constant Field Values
DEF_CONNECT_TIMEOUT
public static final int DEF_CONNECT_TIMEOUT
- Default launch/connect timeout (ms).
-
Since:
- 2.0
-
See Also:
-
Constant Field Values
ATTR_CMDLINE
public static final
String ATTR_CMDLINE
-
Deprecated. - use
IProcess.ATTR_CMDLINE
- Attribute key for a process property. The class
org.eclipse.debug.core.model.IProcess
allows attaching
String properties to processes.
The value of this attribute is the command line a process
was launched with. Implementers of IVMRunner
should use
this attribute key to attach the command lines to the processes they create.
CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
public static final
String CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
- Attribute key for a classpath attribute referencing a
list of shared libraries that should appear on the
-Djava.library.path
system property.
The factory methods newLibraryPathsAttribute(String[])
and getLibraryPaths(IClasspathAttribute)
should be used to
encode and decode the attribute value.
Each string is used to create an IPath
using the constructor
Path(String)
, and may contain IStringVariable
's.
Variable substitution is performed on the string prior to constructing
a path from the string.
If the resulting IPath
is a relative path, it is interpreted
as relative to the workspace location. If the path is absolute, it is
interpreted as an absolute path in the local file system.
-
Since:
- 3.1
-
See Also:
-
IClasspathAttribute
getVMInstall
public static
IVMInstall getVMInstall(
IJavaProject project)
throws
CoreException
- Returns the VM assigned to build the given Java project.
The project must exist. The VM assigned to a project is
determined from its build path.
-
-
Parameters:
-
project
- the project to retrieve the VM from
-
Returns:
- the VM instance that is assigned to build the given Java project
Returns
null
if no VM is referenced on the project's build path.
-
Throws:
-
CoreException
- if unable to determine the project's VM install
getVMInstallType
public static
IVMInstallType getVMInstallType(
String id)
- Returns the VM install type with the given unique id.
-
-
Parameters:
-
id
- the VM install type unique id
-
Returns:
- The VM install type for the given id, or
null
if no
VM install type with the given id is registered.
setDefaultVMInstall
public static void setDefaultVMInstall(
IVMInstall vm,
IProgressMonitor monitor)
throws
CoreException
- Sets a VM as the system-wide default VM, and notifies registered VM install
change listeners of the change.
-
-
Parameters:
-
vm
- The vm to make the default. May be null
to clear
the default. -
monitor
- progress monitor or null
-
Throws:
-
CoreException
setDefaultVMInstall
public static void setDefaultVMInstall(
IVMInstall vm,
IProgressMonitor monitor,
boolean savePreference)
throws
CoreException
- Sets a VM as the system-wide default VM, and notifies registered VM install
change listeners of the change.
-
-
Parameters:
-
vm
- The vm to make the default. May be null
to clear
the default. -
monitor
- progress monitor or null
-
savePreference
- If true
, update workbench preferences to reflect
the new default VM.
-
Throws:
-
CoreException
-
Since:
- 2.1
setDefaultVMConnector
public static void setDefaultVMConnector(
IVMConnector connector,
IProgressMonitor monitor)
throws
CoreException
- Sets a VM connector as the system-wide default VM. This setting is persisted when
saveVMConfiguration is called.
-
-
Parameters:
-
connector
- The connector to make the default. May be null
to clear
the default. -
monitor
- The progress monitor to use
-
Throws:
-
CoreException
- Thrown if saving the new default setting fails -
Since:
- 2.0
getDefaultVMInstall
public static
IVMInstall getDefaultVMInstall()
- Return the default VM set with
setDefaultVM()
.
-
-
Returns:
- Returns the default VM. May return
null
when no default
VM was set or when the default VM has been disposed.
getDefaultVMConnector
public static
IVMConnector getDefaultVMConnector()
- Return the default VM connector.
-
-
Returns:
- Returns the default VM connector.
-
Since:
- 2.0
getVMInstallTypes
public static
IVMInstallType[] getVMInstallTypes()
- Returns the list of registered VM types. VM types are registered via
"org.eclipse.jdt.launching.vmTypes"
extension point.
Returns an empty list if there are no registered VM types.
-
-
Returns:
- the list of registered VM types
getCompositeIdFromVM
public static
String getCompositeIdFromVM(
IVMInstall vm)
- Returns a String that uniquely identifies the specified VM across all VM types.
-
-
Parameters:
-
vm
- the instance of IVMInstallType to be identified -
Since:
- 2.1
getVMFromCompositeId
public static
IVMInstall getVMFromCompositeId(
String idString)
- Return the VM corresponding to the specified composite Id. The id uniquely
identifies a VM across all vm types.
-
-
Parameters:
-
idString
- the composite id that specifies an instance of IVMInstall -
Since:
- 2.1
newStringVariableClasspathEntry
public static
IRuntimeClasspathEntry newStringVariableClasspathEntry(
String expression)
- Returns a new runtime classpath entry for the given expression that
may contain string substitution variable references. The resulting expression
refers to an archive (jar or directory) containing class files.
-
-
Parameters:
-
expression
- an expression that resolves to the location of an archive
-
Returns:
- runtime classpath entry
-
Since:
- 3.0
newDefaultProjectClasspathEntry
public static
IRuntimeClasspathEntry newDefaultProjectClasspathEntry(
IJavaProject project)
- Returns a new runtime classpath entry containing the default classpath
for the specified Java project.
-
-
Parameters:
-
project
- Java project
-
Returns:
- runtime classpath entry
-
Since:
- 3.0
newProjectRuntimeClasspathEntry
public static
IRuntimeClasspathEntry newProjectRuntimeClasspathEntry(
IJavaProject project)
- Returns a new runtime classpath entry for the given project.
-
-
Parameters:
-
project
- Java project
-
Returns:
- runtime classpath entry
-
Since:
- 2.0
newArchiveRuntimeClasspathEntry
public static
IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(
IResource resource)
- Returns a new runtime classpath entry for the given archive.
-
-
Parameters:
-
resource
- archive resource
-
Returns:
- runtime classpath entry
-
Since:
- 2.0
newArchiveRuntimeClasspathEntry
public static
IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(
IPath path)
- Returns a new runtime classpath entry for the given archive (possibly
external).
-
-
Parameters:
-
path
- absolute path to an archive
-
Returns:
- runtime classpath entry
-
Since:
- 2.0
newVariableRuntimeClasspathEntry
public static
IRuntimeClasspathEntry newVariableRuntimeClasspathEntry(
IPath path)
- Returns a new runtime classpath entry for the classpath
variable with the given path.
-
-
Parameters:
-
path
- variable path; first segment is the name of the variable;
trailing segments are appended to the resolved variable value
-
Returns:
- runtime classpath entry
-
Since:
- 2.0
newRuntimeContainerClasspathEntry
public static
IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(
IPath path,
int classpathProperty)
throws
CoreException
- Returns a runtime classpath entry for the given container path with the given
classpath property.
-
-
Parameters:
-
path
- container path -
classpathProperty
- the type of entry - one of USER_CLASSES
,
BOOTSTRAP_CLASSES
, or STANDARD_CLASSES
-
Returns:
- runtime classpath entry
-
Throws:
-
CoreException
- if unable to construct a runtime classpath entry -
Since:
- 2.0
newRuntimeContainerClasspathEntry
public static
IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(
IPath path,
int classpathProperty,
IJavaProject project)
throws
CoreException
- Returns a runtime classpath entry for the given container path with the given
classpath property to be resolved in the context of the given Java project.
-
-
Parameters:
-
path
- container path -
classpathProperty
- the type of entry - one of USER_CLASSES
,
BOOTSTRAP_CLASSES
, or STANDARD_CLASSES
-
project
- Java project context used for resolution, or null
if to be resolved in the context of the launch configuration this entry
is referenced in
-
Returns:
- runtime classpath entry
-
Throws:
-
CoreException
- if unable to construct a runtime classpath entry -
Since:
- 3.0
newRuntimeClasspathEntry
public static
IRuntimeClasspathEntry newRuntimeClasspathEntry(
String memento)
throws
CoreException
- Returns a runtime classpath entry constructed from the given memento.
-
-
Parameters:
-
memento
- a memento for a runtime classpath entry
-
Returns:
- runtime classpath entry
-
Throws:
-
CoreException
- if unable to construct a runtime classpath entry -
Since:
- 2.0
computeUnresolvedRuntimeClasspath
public static
IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(
IJavaProject project)
throws
CoreException
- Computes and returns the default unresolved runtime classpath for the
given project.
-
-
Returns:
- runtime classpath entries
-
Throws:
-
CoreException
- if unable to compute the runtime classpath -
Since:
- 2.0
-
See Also:
-
IRuntimeClasspathEntry
computeUnresolvedSourceLookupPath
public static
IRuntimeClasspathEntry[] computeUnresolvedSourceLookupPath(
ILaunchConfiguration configuration)
throws
CoreException
- Computes and returns the unresolved source lookup path for the given launch
configuration.
-
-
Parameters:
-
configuration
- launch configuration
-
Returns:
- runtime classpath entries
-
Throws:
-
CoreException
- if unable to compute the source lookup path -
Since:
- 2.0
resolveSourceLookupPath
public static
IRuntimeClasspathEntry[] resolveSourceLookupPath(
IRuntimeClasspathEntry[] entries,
ILaunchConfiguration configuration)
throws
CoreException
- Resolves the given source lookup path, returning the resolved source lookup path
in the context of the given launch configuration.
-
-
Parameters:
-
entries
- unresolved entries -
configuration
- launch configuration
-
Returns:
- resolved entries
-
Throws:
-
CoreException
- if unable to resolve the source lookup path -
Since:
- 2.0
getClasspathProvider
public static
IRuntimeClasspathProvider getClasspathProvider(
ILaunchConfiguration configuration)
throws
CoreException
- Returns the classpath provider for the given launch configuration.
-
-
Parameters:
-
configuration
- launch configuration
-
Returns:
- classpath provider
-
Throws:
-
CoreException
- if unable to resolve the path provider -
Since:
- 2.0
getSourceLookupPathProvider
public static
IRuntimeClasspathProvider getSourceLookupPathProvider(
ILaunchConfiguration configuration)
throws
CoreException
- Returns the source lookup path provider for the given launch configuration.
-
-
Parameters:
-
configuration
- launch configuration
-
Returns:
- source lookup path provider
-
Throws:
-
CoreException
- if unable to resolve the path provider -
Since:
- 2.0
resolveRuntimeClasspathEntry
public static
IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(
IRuntimeClasspathEntry entry,
ILaunchConfiguration configuration)
throws
CoreException
- Returns resolved entries for the given entry in the context of the given
launch configuration. If the entry is of kind
VARIABLE
or CONTAINER
, variable and container
resolvers are consulted. If the entry is of kind PROJECT
,
and the associated Java project specifies non-default output locations,
the corresponding output locations are returned. Otherwise, the given
entry is returned.
If the given entry is a variable entry, and a resolver is not registered,
the entry itself is returned. If the given entry is a container, and a
resolver is not registered, resolved runtime classpath entries are calculated
from the associated container classpath entries, in the context of the project
associated with the given launch configuration.
-
-
Parameters:
-
entry
- runtime classpath entry -
configuration
- launch configuration
-
Returns:
- resolved runtime classpath entry
-
Throws:
-
CoreException
- if unable to resolve -
Since:
- 2.0
-
See Also:
-
IRuntimeClasspathEntryResolver
resolveRuntimeClasspathEntry
public static
IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(
IRuntimeClasspathEntry entry,
IJavaProject project)
throws
CoreException
- Returns resolved entries for the given entry in the context of the given
Java project. If the entry is of kind
VARIABLE
or CONTAINER
, variable and container
resolvers are consulted. If the entry is of kind PROJECT
,
and the associated Java project specifies non-default output locations,
the corresponding output locations are returned. Otherwise, the given
entry is returned.
If the given entry is a variable entry, and a resolver is not registered,
the entry itself is returned. If the given entry is a container, and a
resolver is not registered, resolved runtime classpath entries are calculated
from the associated container classpath entries, in the context of the
given project.
-
-
Parameters:
-
entry
- runtime classpath entry -
project
- Java project context
-
Returns:
- resolved runtime classpath entry
-
Throws:
-
CoreException
- if unable to resolve -
Since:
- 2.0
-
See Also:
-
IRuntimeClasspathEntryResolver
computeUnresolvedRuntimeClasspath
public static
IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(
ILaunchConfiguration configuration)
throws
CoreException
- Computes and returns the unresolved class path for the given launch configuration.
Variable and container entries are unresolved.
-
-
Parameters:
-
configuration
- launch configuration
-
Returns:
- unresolved runtime classpath entries
-
Throws:
-
CoreException
- if unable to compute the classpath -
Since:
- 2.0
resolveRuntimeClasspath
public static
IRuntimeClasspathEntry[] resolveRuntimeClasspath(
IRuntimeClasspathEntry[] entries,
ILaunchConfiguration configuration)
throws
CoreException
- Resolves the given classpath, returning the resolved classpath
in the context of the given launch configuration.
-
-
Parameters:
-
entries
- unresolved classpath -
configuration
- launch configuration
-
Returns:
- resolved runtime classpath entries
-
Throws:
-
CoreException
- if unable to compute the classpath -
Since:
- 2.0
getJavaProject
public static
IJavaProject getJavaProject(
ILaunchConfiguration configuration)
throws
CoreException
- Return the
IJavaProject
referenced in the specified configuration or
null
if none.
-
-
Throws:
-
CoreException
- if the referenced Java project does not exist -
Since:
- 2.0
computeVMInstall
public static
IVMInstall computeVMInstall(
ILaunchConfiguration configuration)
throws
CoreException
- Returns the VM install for the given launch configuration.
The VM install is determined in the following prioritized way:
- The VM install is explicitly specified on the launch configuration
via the
ATTR_JRE_CONTAINER_PATH
attribute (since 3.2).
- The VM install is explicitly specified on the launch configuration
via the
ATTR_VM_INSTALL_TYPE
and ATTR_VM_INSTALL_ID
attributes.
- If no explicit VM install is specified, the VM install associated with
the launch configuration's project is returned.
- If no project is specified, or the project does not specify a custom
VM install, the workspace default VM install is returned.
-
-
Parameters:
-
configuration
- launch configuration
-
Returns:
- vm install
-
Throws:
-
CoreException
- if unable to compute a vm install -
Since:
- 2.0
computeDefaultRuntimeClassPath
public static
String[] computeDefaultRuntimeClassPath(
IJavaProject jproject)
throws
CoreException
- Computes the default application classpath entries for the given
project.
-
-
Parameters:
-
jproject
- The project to compute the classpath for
-
Returns:
- The computed classpath. May be empty, but not null.
-
Throws:
-
CoreException
- if unable to compute the default classpath
saveVMConfiguration
public static void saveVMConfiguration()
throws
CoreException
- Saves the VM configuration information to the preferences. This includes
the following information:
- The list of all defined IVMInstall instances.
- The default VM
This state will be read again upon first access to VM
configuration information.
-
-
Throws:
-
CoreException
isContributedVMInstall
public static boolean isContributedVMInstall(
String id)
- Returns whether the VM install with the specified id was contributed via
the vmInstalls extension point.
-
-
Parameters:
-
id
- vm id
-
Returns:
- whether the vm install was contributed via extension point
-
Since:
- 3.2
getLibraryLocations
public static
LibraryLocation[] getLibraryLocations(
IVMInstall vm)
- Evaluates library locations for a IVMInstall. If no library locations are set on the install, a default
location is evaluated and checked if it exists.
-
-
Returns:
- library locations with paths that exist or are empty
-
Since:
- 2.0
getJREVariableEntry
public static
IClasspathEntry getJREVariableEntry()
- Creates and returns a classpath entry describing
the JRE_LIB classpath variable.
-
-
Returns:
- a new IClasspathEntry that describes the JRE_LIB classpath variable
getDefaultJREContainerEntry
public static
IClasspathEntry getDefaultJREContainerEntry()
- Creates and returns a classpath entry describing
the default JRE container entry.
-
-
Returns:
- a new IClasspathEntry that describes the default JRE container entry
-
Since:
- 2.0
newDefaultJREContainerPath
public static
IPath newDefaultJREContainerPath()
- Returns a path for the JRE classpath container identifying the
default VM install.
-
-
Returns:
- classpath container path
-
Since:
- 3.2
newJREContainerPath
public static
IPath newJREContainerPath(
IVMInstall vm)
- Returns a path for the JRE classpath container identifying the
specified VM install by type and name.
-
-
Parameters:
-
vm
- vm install
-
Returns:
- classpath container path
-
Since:
- 3.2
newJREContainerPath
public static
IPath newJREContainerPath(
String typeId,
String name)
- Returns a path for the JRE classpath container identifying the
specified VM install by type and name.
-
-
Parameters:
-
typeId
- vm install type identifier -
name
- vm install name
-
Returns:
- classpath container path
-
Since:
- 3.2
newJREContainerPath
public static
IPath newJREContainerPath(
IExecutionEnvironment environment)
- Returns a path for the JRE classpath container identifying the
specified execution environment.
-
-
Parameters:
-
environment
- execution environment
-
Returns:
- classpath container path
-
Since:
- 3.2
getVMInstall
public static
IVMInstall getVMInstall(
IPath jreContainerPath)
- Returns the JRE referenced by the specified JRE classpath container
path or
null
if none.
-
-
Parameters:
-
jreContainerPath
-
-
Returns:
- JRE referenced by the specified JRE classpath container
path or
null
-
Since:
- 3.2
getVMInstallTypeId
public static
String getVMInstallTypeId(
IPath jreContainerPath)
- Returns the identifier of the VM install type referenced by the
given JRE classpath container path, or
null
if none.
-
-
Parameters:
-
jreContainerPath
-
-
Returns:
- vm install type identifier or
null
-
Since:
- 3.2
getVMInstallName
public static
String getVMInstallName(
IPath jreContainerPath)
- Returns the name of the VM install referenced by the
given JRE classpath container path, or
null
if none.
-
-
Parameters:
-
jreContainerPath
-
-
Returns:
- vm name or
null
-
Since:
- 3.2
getExecutionEnvironmentId
public static
String getExecutionEnvironmentId(
IPath jreContainerPath)
- Returns the execution environment identifier in the following JRE
classpath container path, or
null
if none.
-
-
Parameters:
-
jreContainerPath
- classpath container path
-
Returns:
- execution environment identifier or
null
-
Since:
- 3.2
computeJREEntry
public static
IRuntimeClasspathEntry computeJREEntry(
ILaunchConfiguration configuration)
throws
CoreException
- Returns a runtime classpath entry identifying the JRE to use when launching the specified
configuration or
null
if none is specified. The entry returned represents a
either a classpath variable or classpath container that resolves to a JRE.
The entry is resolved as follows:
- If the
ATTR_JRE_CONTAINER_PATH
is present, it is used to create
a classpath container referring to a JRE.
- Next, if the
ATTR_VM_INSTALL_TYPE
and ATTR_VM_INSTALL_NAME
attributes are present, they are used to create a classpath container.
- When none of the above attributes are specified, a default entry is
created which refers to the JRE referenced by the build path of the configuration's
associated Java project. This could be a classpath variable or classpath container.
- When there is no Java project associated with a configuration, the workspace
default JRE is used to create a container path.
-
-
Parameters:
-
configuration
-
-
Returns:
- classpath container path identifying a JRE or
null
-
Throws:
-
CoreException
- if an exception occurs retrieving
attributes from the specified launch configuration -
Since:
- 3.2
computeJREEntry
public static
IRuntimeClasspathEntry computeJREEntry(
IJavaProject project)
throws
CoreException
- Returns a runtime classpath entry identifying the JRE referenced by the specified
project, or
null
if none. The entry returned represents a either a
classpath variable or classpath container that resolves to a JRE.
-
-
Parameters:
-
project
- Java project
-
Returns:
- JRE runtime classpath entry or
null
-
Throws:
-
CoreException
- if an exception occurs
accessing the project's classpath -
Since:
- 3.2
isVMInstallReference
public static boolean isVMInstallReference(
IRuntimeClasspathEntry entry)
- Returns whether the given runtime classpath entry refers to a vm install.
-
-
Parameters:
-
entry
-
-
Returns:
- whether the given runtime classpath entry refers to a vm install
-
Since:
- 3.2
getVMConnector
public static
IVMConnector getVMConnector(
String id)
- Returns the VM connector defined with the specified identifier,
or
null
if none.
-
-
Parameters:
-
id
- VM connector identifier
-
Returns:
- VM connector or
null
if none -
Since:
- 2.0
getVMConnectors
public static
IVMConnector[] getVMConnectors()
- Returns all VM connector extensions.
-
-
Returns:
- VM connectors
-
Since:
- 2.0
getPreferences
public static
Preferences getPreferences()
- Returns the preference store for the launching plug-in.
-
-
Returns:
- the preference store for the launching plug-in
-
Since:
- 2.0
savePreferences
public static void savePreferences()
- Saves the preferences for the launching plug-in.
-
-
Since:
- 2.0
addVariableResolver
public static void addVariableResolver(
IRuntimeClasspathEntryResolver resolver,
String variableName)
- Registers the given resolver for the specified variable.
-
-
Parameters:
-
resolver
- runtime classpath entry resolver -
variableName
- variable name to register for -
Since:
- 2.0
addContainerResolver
public static void addContainerResolver(
IRuntimeClasspathEntryResolver resolver,
String containerIdentifier)
- Registers the given resolver for the specified container.
-
-
Parameters:
-
resolver
- runtime classpath entry resolver -
containerIdentifier
- identifier of the classpath container to register for -
Since:
- 2.0
addVMInstallChangedListener
public static void addVMInstallChangedListener(
IVMInstallChangedListener listener)
- Adds the given listener to the list of registered VM install changed
listeners. Has no effect if an identical listener is already registered.
-
-
Parameters:
-
listener
- the listener to add -
Since:
- 2.0
removeVMInstallChangedListener
public static void removeVMInstallChangedListener(
IVMInstallChangedListener listener)
- Removes the given listener from the list of registered VM install changed
listeners. Has no effect if an identical listener is not already registered.
-
-
Parameters:
-
listener
- the listener to remove -
Since:
- 2.0
fireVMChanged
public static void fireVMChanged(
PropertyChangeEvent event)
- Notifies all VM install changed listeners of the given property change.
-
-
Parameters:
-
event
- event describing the change. -
Since:
- 2.0
fireVMAdded
public static void fireVMAdded(
IVMInstall vm)
- Notifies all VM install changed listeners of the VM addition
-
-
Parameters:
-
vm
- the VM that has been added -
Since:
- 2.0
fireVMRemoved
public static void fireVMRemoved(
IVMInstall vm)
- Notifies all VM install changed listeners of the VM removal
-
-
Parameters:
-
vm
- the VM that has been removed -
Since:
- 2.0
getProjectOutputDirectory
public static
String getProjectOutputDirectory(
ILaunchConfiguration config)
- Return the String representation of the default output directory of the
launch config's project or
null
if there is no config, no
project or some sort of problem.
-
-
Returns:
- the default output directory for the specified launch
configuration's project
-
Since:
- 2.1
getSourceContainers
public static
ISourceContainer[] getSourceContainers(
IRuntimeClasspathEntry[] entries)
- Returns a collection of source containers corresponding to the given
resolved runtime classpath entries.
Note that the entries must be resolved to ARCHIVE and PROJECT entries,
as source containers cannot be determined for unresolved entries.
-
-
Parameters:
-
entries
- entries to translate
-
Returns:
- source containers corresponding to the given runtime classpath entries
-
Since:
- 3.1
computeJavaLibraryPath
public static
String[] computeJavaLibraryPath(
IJavaProject project,
boolean requiredProjects)
throws
CoreException
- Returns a collection of paths that should be appended to the given project's
java.library.path
system property when launched. Entries are
searched for on the project's build path as extra classpath attributes.
Each entry represents an absolute path in the local file system.
-
-
Parameters:
-
project
- the project to compute the java.library.path
for -
requiredProjects
- whether to consider entries in required projects
-
Returns:
- a collection of paths representing entries that should be appended
to the given project's
java.library.path
-
Throws:
-
CoreException
- if unable to compute the Java library path -
Since:
- 3.1
-
See Also:
-
IClasspathAttribute
,
CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
newLibraryPathsAttribute
public static
IClasspathAttribute newLibraryPathsAttribute(
String[] paths)
- Creates a new classpath attribute referencing a list of shared libraries that should
appear on the
-Djava.library.path
system property at runtime
for an associated
IClasspathEntry
.
The factory methods newLibraryPathsAttribute(String[])
and getLibraryPaths(IClasspathAttribute)
should be used to
encode and decode the attribute value.
-
-
Parameters:
-
paths
- an array of strings representing paths of shared libraries.
Each string is used to create an IPath
using the constructor
Path(String)
, and may contain IStringVariable
's.
Variable substitution is performed on each string before a path is constructed
from a string.
-
Returns:
- a classpath attribute with the name
CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
and an value encoded to the specified paths. -
Since:
- 3.1
getLibraryPaths
public static
String[] getLibraryPaths(
IClasspathAttribute attribute)
- Returns an array of strings referencing shared libraries that should
appear on the
-Djava.library.path
system property at runtime
for an associated
IClasspathEntry
, or null
if the
given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
.
Each string is used to create an IPath
using the constructor
Path(String)
, and may contain IStringVariable
's.
The factory methods newLibraryPathsAttribute(String[])
and getLibraryPaths(IClasspathAttribute)
should be used to
encode and decode the attribute value.
-
-
Parameters:
-
attribute
- a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
classpath attribute
-
Returns:
- an array of strings referencing shared libraries that should
appear on the
-Djava.library.path
system property at runtime
for an associated
IClasspathEntry
, or null
if the
given attribute is not a CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
.
Each string is used to create an IPath
using the constructor
Path(String)
, and may contain IStringVariable
's. -
Since:
- 3.1
getExecutionEnvironmentsManager
public static
IExecutionEnvironmentsManager getExecutionEnvironmentsManager()
- Returns the execution environments manager.
-
-
Returns:
- execution environments manager
-
Since:
- 3.2
createVMFromDefinitionFile
public static
VMStandin createVMFromDefinitionFile(
File eeFile,
String name,
String id)
throws
CoreException
- Creates a new VM based on the attributes specified in the given execution
environment description file. The format of the file is defined by
https://wiki.eclipse.org/Execution_Environment_Descriptions
.
-
-
Parameters:
-
eeFile
- VM definition file -
name
- name for the VM, or null
if a default name should be assigned -
id
- id to assign to the new VM
-
Returns:
- VM standin
-
Throws:
-
CoreException
- if unable to create a VM from the given definition file -
Since:
- 3.4
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.