## exe4j Wizard - Step 5: Configure Java Invocation |

In this step of the exe4j wizard, you enter the information required to start your application.

- | The following properties of the java invocation can be edited in the `General` section of this step: Main class Enter the fully qualified main class of your application. Next to the text field is a [...] chooser button that brings up a dialog with a list of all public main classes in the class path. To use this facility, you have to set up your classpath first (see below). VM parameters If there are any VM parameters you would like to specify for the invocation of your Java application, you can enter them here (e.g. `-Dmyapp.myproperty=true` or `-Xmx256m`). There are several runtime-variables you can use to specify runtime directories: %EXE4J_EXEDIR% This is the directory where the executable is located. %EXE4J_JVM_HOME% This is the directory of the JRE that your executable is running with. %EXE4J_TEMPDIR% For the "JAR in EXE" mode, this variable will contain the location of the temporary directory for the JAR files. In "regular mode" this variable is not used. These variables can be especially useful for adding JAR files to the bootclasspath. In addition to these VM parameters, a parameter file in the same directory as the executable is read and its contents are added to the existing VM parameters. The name of this parameter file is the same as the exe file with the extension `*.vmoptions`. For example, if your exe file is named `hello.exe`, the name of the VM parameter file is `hello.vmoptions`. In this file, each line is interpreted as a single VM parameter. For example, the contents of the VM parameter file could be:
            -Xmx128m
            -Xms32m
  It is possible to include other `.vmoptions` files from a `.vmoptions` file with the syntax
      -include-options [path to other .vmoptions file]
  You can use multiple includes in a single file, recursive includes are also supported. You can also add this option to the fixed VM parameters. In that way, you can prevent having to use the `.vmoptions` file right next to the executable. This allows you to to centralize the user-editable VM options for multiple launchers and to have `.vmoptions` files in a location that can be edited by the user if the installation directory is not writable. You can use environment variables to find a suitable directory, for example
      -include-options ${APPDATA}\My Application\my.vmoptions
  or
      -include-options ${USERPROFILE}\.myapp\my.vmoptions
In addition to the VM parameters you can also modify the classpath in the `.vmoptions` files with the following options: -classpath [classpath] Replace the classpath of the generated launcher. -classpath/a [classpath] Append to the classpath of the generated launcher. -classpath/p [classpath] Prepend to the classpath of the generated launcher. You can use environment variables in the VM parameters with the following syntax: `${VARIABLE_NAME}` where you replace VARIABLE_NAME with the desired environment variable. arguments If you need to specify arguments for your main class, you can enter them here. Arguments passed to the executable will be appended to these arguments. Allow VM passthrough parameters If you would like to allow the user to specify VM parameters with the syntax `-J[VM parameter]` (e.g. `-J-Xmx512m`), select the `Allow VM passthrough parameters` checkbox.

| In the `Class path` section of this step you can configure the class path and the error handling for missing class path entries. The class path list shows all class path entries that have been added so far. The following types of class path entries are available: Scan directory Directory Archive Environment variable The symbol prepended to an entry indicates that an error with that entry will lead to a startup failure with an error message displayed to the user. The control buttons on the right allow you to modify the contents of the class path list: Add class path entry (key `INS`) Invokes the class path entry dialog. Upon closing the class path entry dialog with the [OK] button, a new class path entry will be appended to the bottom of the class path list. Remove class path entry (key `DEL`) Removes the currently selected class path entry without further confirmation. Move class path entry up (key `ALT-UP`) Moves the selected class path entry up one position in the class path list. Move class path entry down (key `ALT-DOWN`) Moves the selected class path entry down one position in the class path list. To change the error handling mode of a class path entry, select the class path entry and press [Toggle 'fail on error'] right below the class path list or choose the corresponding menu item from the context menu.