To select the preferred java vm implementation


The "server" VM and "client" VM have something different such as gc algorithm.

A configure item 'vm' is to specify a preferred VM. Generated exe will try to select the specified VM first. If failed, generated exe will select one of other valid VMs.

About 'jvmdll', 'jre_order'

If the JRE is specified by 'jvmdll', the 'vm' item will not take effect, because 'jvmdll' has already specified the exact jvm.dll (or libjvm.so). For example:

# let generated exe find JRE from 'jvmdll' only
jre_order c

jvmdll ./jre/bin/server/jvm.dll

# this line has no use, because the jvmdll has specified the jvm.dll exactly
vm client

If the JRE is from Registry or JAVA_HOME environment according to 'jre_order', the configure item 'vm' will let generated exe to select the preferred VM first. For example:

# make sure the "working directory" is the directory of exe file
forcecwd .

# let generated exe find JRE from environment only
jre_order e

export JAVA_HOME=./jre

# set preferred VM to 'server'
vm server

The second configuration is equivalent to the first one, that is to select the server VM in the './jre' directory.

See Also

  • See jre_order page for details of JRE find order.
  • See jvmdll page for how to specify a JRE in configuration file
  • See export page for setting a environment variable

Add new comment