# Java VM Installs

###### Identifier:

org.eclipse.jdt.launching.vmInstalls

###### Since:

3.2

###### Description:

Allows specific configurations of Java runtime environments and development kits to be contributed to the Java development tooling.

###### Configuration Markup:

<!ELEMENT extension (vmInstall+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT vmInstall (library*)>

<!ATTLIST vmInstall

id CDATA #REQUIRED

vmInstallType IDREF #REQUIRED

name CDATA #REQUIRED

home CDATA #REQUIRED

javadocURL CDATA #IMPLIED

vmArgs CDATA #IMPLIED>

- id - Unique identifier for this VM install
- vmInstallType - References a registered VM install type via the corresponding vmInstallType's id
- name - Human readable name for this VM install
- home - Path to the home installation directory for this VM install. Paths must be absolute and may use string substitution variables such as ${eclipse_home}. Since 3.4, this attribute may reference a VM definition file in addition to a home directory. The Execution Environment VM type included with the SDK supports execution environment descriptions. When an execution environment description file is specified, any library elements are ignored. In this case, libraries are defined by the execution environment description file.
- javadocURL - URL referencing the default javadoc location for all libraries in this VM install.
- vmArgs - Default VM arguments used when launching this VM install as they should appear on the command line.

<!ELEMENT library EMPTY>

<!ATTLIST library

path CDATA #REQUIRED

sourcePath CDATA #IMPLIED

packageRootPath CDATA #IMPLIED

javadocURL CDATA #IMPLIED>

- path - File system path to a system library, relative to the VM install's home directory.
- sourcePath - File system path to the source archive associated with this libaray, relative to the VM install's home directory. When unspecified, this library has no source attachment.
- packageRootPath - Path within the source archive where package names begin. For example, if the source for java.lang.Object is located at "src\java\lang\Object" the package root path would be "src". When unspecified the package root path is automatically detected.
- javadocURL - URL referencing the javadoc location for this library. Overrides the javadoc URL specified for the VM install.

###### Examples:

Following is an example vm install definition.

    <extension point="org.eclipse.jdt.launching.vmInstalls">
     <vmInstall
      home="${eclipse_home}/jre"
      id="com.example.vm.id"
      name="JRE-1.4"
      vmInstallType="com.example.vm.type"/>
    </extension>

The following example will create a JRE definition based on the contents of the specified execution environment description file. When an execution environment description file is provided as the home location the "Execution Environment Description" VM type must be specified for the `vmInstallType` attribute.

    <extension point="org.eclipse.jdt.launching.vmInstalls">
     <vmInstall
      home="${eclipse_home}/jre-def.ee"
      id="com.example.ee.id"
      name="Default JRE"
      vmInstallType="org.eclipse.jdt.launching.EEVMType"/>
    </extension>

###### Supplied Implementation:

JDT does not provide any specific VM installs.

Copyright (c) 2007 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0