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 # set JAVA_HOME 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.