About Java VM Selection Criteria

InstallAnywhere 2017

InstallAnywhere supports strict virtual machine selection. This feature allows you to specify the vendor, type, and version of the Java virtual machine that is required by your installer or your installed product. If no JVM listed in the Valid VM List is available, the installer fails to run and LaunchAnywhere reports a “Could not find valid Java virtual machine to load” error.

JVM selection criteria can be used to specify valid VMs (Project page > JVM Settings view) and for the LaunchAnywhere (lax.nl.valid.vm.list property).

The values for these properties can be any space-delimited combination of the following general operators.

Java VM Selection Criteria

Property

Description

VM Vendor

Vendor values specify the creator or publisher of the virtual machine. Some common Java virtual machine vendors include:

IBM
SUN
HP (only available on HP-UX systems)
APPLE (only available on Mac systems)

VM Type

VM type values include:

ALL (any VM)
JDK (any JDK)
JRE (any JRE)

Note • The optional JDK or JRE specifies which type of VM is valid.

VM Version

Version values can be specific versions, such as 1.4.2_02 or partial versions that include a + or * wildcard character.

The version number can have varying degrees of precision; however, it is recommended that you specify at least the major and minor version numbers:

JRE_1.4+—This entry indicates that any JRE of version 1.4.0_0 or later is suitable.
JDK_1.4.2*—This entry indicates that any JDK of the 1.4.2 series is suitable.

The + or * operator specifies a version range:

The + operator means “at least this version.”
The * operator means “of this version.”

When you use these operators, any unspecified version part is assumed to be zero (specifying 1.4 is interpreted as 1.4.0_0). If you do not specify * or +, only versions that exactly match the specified version are valid (1.4 does not validate for 1.4.1_07 VMs).

Strict VM Selection

Alternately, you can use a strict VM expression, such as JRE_1.5.1_03 or JDK 1.4.2_02, by joining a vendor (IBM, SUN, and others), type (ALL, JDK, or JRE), and version number (1.4.2_02, 1.5*, and so on) with an underscore character.

IBM_ALL_1.6* allows the installer or application to run only against a version 1.6 VM from IBM.
JRE_1.5.1_03 allows the installer or application to run only against the JRE 1.5.1_03.
JDK_1.4.2_02 allows the installer or application to run only against a JDK 1.4.2_02.

Note • If more than one of these expressions is present, consider them to be combined with the OR operator. That is, a VM is valid if it matches any of the given expressions.

See Also