Class JVMSelector
java.lang.Object
com.install4j.api.JVMSelector
With this class, you can retrieve the installed JVMs on Windows, Linux and Unix systems.
Additionally, you can set the preferred VM for your application.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe interface providing information about a JVM. -
Method Summary
Modifier and TypeMethodDescriptionstatic JVMSelector.JVMLocationgetJVMLocation(File javaHome, String minVersion, String maxVersion, boolean jdkOnly) Checks if this directory contains a JVM with the specified parameters and returns the location object.static JVMSelector.JVMLocation[]Returns JVMs found in standard locations.static JVMSelector.JVMLocation[]getJVMLocations(String minVersion, String maxVersion, boolean jdkOnly, File[] additionalLocations) Returns JVMs found in standard locations with the given version requirements.static voidsetPreferredJVM(String javaHome) Set the preferred JRE/JDK for your application.
-
Method Details
-
getJVMLocations
Returns JVMs found in standard locations. On Windows, the registry is used to get the JVMs. On Linux/Unix and macOS, this method searches the usual locations for JVMs. Please be aware that this method can take some time on Linux/Unix as it executes java to gather version information.- Returns:
- an array of JVMLocation objects. See this class for more detail.
-
getJVMLocations
public static JVMSelector.JVMLocation[] getJVMLocations(String minVersion, String maxVersion, boolean jdkOnly, File[] additionalLocations) Returns JVMs found in standard locations with the given version requirements. On Windows, the registry is used to get the JVMs. On Linux/Unix and macOS, this method searches the usual locations for JVMs. Please be aware that this method can take some time on Linux/Unix as it executes java to gather version information.- Parameters:
minVersion- the minimum java versionmaxVersion- the maximum java versionjdkOnly- only JDKsadditionalLocations- additional locations that should be tested for JVMs- Returns:
- an array of JVMLocation objects. See this class for more detail.
-
getJVMLocation
public static JVMSelector.JVMLocation getJVMLocation(File javaHome, String minVersion, String maxVersion, boolean jdkOnly) Checks if this directory contains a JVM with the specified parameters and returns the location object. The versions can be empty Strings if there should be no restriction.- Parameters:
javaHome- the directory to checkminVersion- the minimum java versionmaxVersion- the maximum java versionjdkOnly- only JDKs- Returns:
- a JVMLocation object or null. See this class for more detail.
-
setPreferredJVM
Set the preferred JRE/JDK for your application. As long as this JRE/JDK exists and fulfills the version requirement of your application, it will be used. This method has no effect on macOS.- Parameters:
javaHome- the base directory of the JDK/JRE.
-