About Java VM Selection Criteria

InstallAnywhere 2024 R2

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 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 11.0.15_0 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_11.0+—This entry indicates that any JRE of version 11.0.0_0 or later is suitable.
JDK_11.0.15*—This entry indicates that any JDK of the 11.0.15 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 11.0 is interpreted as 11.0.0_0). If you do not specify * or +, only versions that exactly match the specified version are valid (11.0 does not validate for 11.0.1_07 VMs).

Strict VM Selection

Alternately, you can use a strict VM expression, such as JRE_11.0.15_03 or JDK 17.0.08_07, by joining a type (ALL, JDK, or JRE) and version number (17.0.08_07, 11.0*, and so on) with an underscore character.

JRE_11.0.15_03 allows the installer or application to run only against the JRE 11.0.15_03.
JDK_17.0.08_07 allows the installer or application to run only against a JDK 17.0.08_07.

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