install4j API

com.install4j.api
Class JVMSelector

java.lang.Object
  extended by com.install4j.api.JVMSelector

public class JVMSelector
extends java.lang.Object

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
static interface JVMSelector.JVMLocation
          The interface providing information about a JVM.
 
Method Summary
static JVMSelector.JVMLocation getJVMLocation(java.io.File javaHome, java.lang.String minVersion, java.lang.String maxVersion, boolean jdkOnly)
          Checks if this directory contains a JVM with the specificed parameters and returns the location object.
static JVMSelector.JVMLocation[] getJVMLocations()
          Returns JVMs found in standard locations.
static JVMSelector.JVMLocation[] getJVMLocations(java.lang.String minVersion, java.lang.String maxVersion, boolean jdkOnly, java.io.File[] additionalLocations)
          Returns JVMs found in standard locations with the given version requirements.
static void setPreferredJVM(java.lang.String javaHome)
          Set the preferred JRE/JDK for your application.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getJVMLocations

public static JVMSelector.JVMLocation[] getJVMLocations()
Returns JVMs found in standard locations. On Windows the registry is used to get the JVMs. On Linux/Unix this methods searches the usual locations for JVMs. On Mac OS X, this method returns an empty array. 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(java.lang.String minVersion,
                                                        java.lang.String maxVersion,
                                                        boolean jdkOnly,
                                                        java.io.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 this methods searches the usual locations for JVMs. On Mac OS X, this method returns an empty array. 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 version
maxVersion - the maximum java version
jdkOnly - only JDKs
additionalLocations - 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(java.io.File javaHome,
                                                     java.lang.String minVersion,
                                                     java.lang.String maxVersion,
                                                     boolean jdkOnly)
Checks if this directory contains a JVM with the specificed parameters and returns the location object. The versions can be empty Strings if there should be no restriction.

Parameters:
javaHome - the directory to check
minVersion - the minimum java version
maxVersion - the maximum java version
jdkOnly - only JDKs
Returns:
a JVMLocation objects or null. See this class for more detail.

setPreferredJVM

public static void setPreferredJVM(java.lang.String javaHome)
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.

Parameters:
javaHome - the base directory of the JDK/JRE.

install4j API