Select JVM

 

Selecting the most suitable JVM

Click on the JVM Selection tab to specify the Java look-up parameters.

JVM Selection for Windows Exe
The JVM Selection panel

Java Version

If your application requires a minimum or a maximum version of Java to run, the Version of Target VM subpanel will probably be of high interest for you.

Just leave the field empty if you do not wish to any constraint on the JVM version required for your application.

To specify a version, either as a minimum or a maximum, you must specify the major, minor, and sub-minor version number you want to set the constraint on. You don't need to specify all of those three numbers, but remember that if you leave it empty, it is considered as 0.

The values are inclusive. For instance, if you specify 1.4 as a maximum means that the java wrapper accepts 1.4.0 JVM, but not 1.4.1.

If your application runs exclusively with JVM 1.2 and 1.3, but not 1.1 nor 1.4 or above, just specify 1.2 for the minimum version, and 1.3.99 as a maximum version.

JVM Bundle

Even if the wrappers of JExecutable provide a reasonnable user experience for the users who do not have Java installed, you may wish to bundle a JRE with your application. In such a case, tick the Use JVM Bundle checkbox, and specify the directory location of the JRE.

WARNING

What the "JVM Bundle" option really specifies, is a path (relative to the generated EXE) where a JRE can be found. This is NOT an option to bundle a JRE in the EXE, as many people think.

For the option to work correctly, you have to put a JRE in a directory near the EXE (generally in a subdirectory called "jre" or whatever). Once the exe is generated, it will FIRST try to locate the JRE at the location mentionned. If it can't be found there, then it will fallback in the normal jre look-up mode (search for a jre or a jdk in the Windows registry or in commonly-used environment variables). There is no JVM-version check when using a bundled JRE, as the packager is supposed to bundle a suitable JVM for the application.

Consequently, if you use the "Bundle JVM" option, you'll need to install yourself the JRE at the same relative path to the EXE.

For instance, take the following example:

+myprog/

|- myjar.jar

|- lib/

+ mylib1.jar

+ mylib2.jar

|- jre/

+ [full jre stuff here]

|- myexe.exe

      

In this case, the generated myexe.exe tries to use the jre in the "jre" sub-dir as its first-choice JRE. To deploy it, either simply zip all the "myprog" directory, or tell your favorite installer to set-up the jre directory in the same configuration as in your original folder tree.

The JVM Search sequence

The wrappers are able to detect most, if not all, the JVM available on the end-user computer. Before launching the java application, they try to find a JVM using a preference order. The default is to use the Windows registry to look-up the JRE that have been installed, then use some environment variable, and finally try to use Microsoft's JView.

This search sequence is fine for most configuration, however you can still modify it to best suit your needs. Use the and button to modify the priorities..

 

[Home] [Features] [Create Java Exe] [Skeleton Selection] [Windows Exe] [Define Parameters] [Select JVM] [Configure JVM] [Command Line] [Ant Task] [JNI Functions] [JExecutable FAQ] [License]

jexecutable@gurusoft.net