# Java VM Install Types

###### Identifier:

org.eclipse.jdt.launching.vmInstallTypes

###### Description:

This extension point represents different kinds of Java runtime environments and development kits. Each extension must implement `org.eclipse.jdt.launching.IVMInstallType`. An `IVMInstallType` is responsible for creating and managing a set of instances of its corresponding `IVMInstall` class. Through creating different `IVMInstall` objects, an `IVMInstallType` allows for specific behaviour for various Java VMs. A UI for managing `IVMInstall`s is provided by the Java Debug UI plug-in.

###### Configuration Markup:

<!ELEMENT extension (vmInstallType*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT vmInstallType EMPTY>

<!ATTLIST vmInstallType

id CDATA #REQUIRED

class CDATA #REQUIRED>

- id - a unique identifier that can be used to reference this IVMInstallType.
- class - the class that implements this VM install type. The class must implement IVMInstallType.

###### Examples:

The following is an example of an IVMInstallType for the J9 VM:

     <extension point="org.eclipse.jdt.launching.vmInstallTypes">
      <vmInstallType
       class="org.eclipse.jdt.internal.launching.j9.J9VMInstallType"
       id="org.eclipse.jdt.internal.launching.j9.J9Type">
      </vmInstallType>
     </extension>

###### Supplied Implementation:

Abstract implementations of IVMInstall and IVMInstallType are provided. The Java development tooling defines a VM install type for the standard 1.1.* level JRE, and an install type for JREs conforming to standard command line options (1.2, 1.3, 1.4, 5.0, 6.0, and 7.0 level JREs). As well an install type is provided for JREs defined by an execution environment description file.

Copyright (c) 2000, 2005 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