## Classpath entry dialog |

The class path entry dialog is shown when clicking on the add button in the "configure java invocation" step of the exe4j wizard. Upon closing this dialog with the [OK] button, a new class path entry will be appended to the bottom of the class path list of that step.

To define a class path entry, you first select the entry type, then check the `fail if an error occurs with this class path entry` checkbox in case you want the startup to be terminated if this class path entry is faulty and finally fill out the `Detail` section of the dialog which is dependent on the selected entry type. The following entry types are available:

- Scan directory
  Scan a directory for archives with the extensions `*.jar` and `*.zip` to be added to the class path. In the `Detail` section of the dialog you must choose a directory either by entering the path in the text field or by clicking [...] and choosing it with a file chooser.

  Error handling:
  If `fail if an error occurs with this class path entry` is checked, the application will terminate with an error message if this directory does not exist.

  Note: Not available if the project type is "JAR in EXE"

- Directory
  Add a directory to the class path. In the `Detail` section of the dialog you must choose a directory either by entering the path in the text field or by clicking [...] and choosing it with a file chooser.

  Error handling:
  If `fail if an error occurs with this class path entry` is checked, the application will terminate with an error message if this directory does not exist.

  Note: Not available if the project type is "JAR in EXE"

- Archive
  Add an archive with the extension `*.jar` or `*.zip` to the class path. In the `Detail` section of the dialog you must choose an archive either by entering the path in the text field or by clicking [...] and choosing it with a file chooser.

  The last path component can include a * as a placeholder for a frequently changing version number. This is not a wildcard for processing multiple matching paths, rather it is intended for systems like maven where the version number on dependencies is part of the file name and is frequently changed. An example is `bin\commons-io-*.jar` which will match a file like `bin/commons-io-1.0.jar` at compile time. This replacement is performed at compile-time and not a runtime.

  Error handling:
  If `fail if an error occurs with this class path entry` is checked, the application will terminate with an error message if this archive does not exist.

- Environment variable
  Add the contents of an environment variable to the class path. In the `Detail` section of the dialog you must enter the name of an environment variable.

  Error handling:
  If `fail if an error occurs with this class path entry` is checked, the application will terminate with an error message if this environment variable is not defined.

Except for the "Environment variable" classpath type, you can use environment variables in the text field with the following syntax: `${VARIABLE_NAME}` where you replace VARIABLE_NAME with the desired environment variable.

The directory of the JRE that your application is running with is contained in ${EXE4J_JVM_HOME}. If you've specified in the Configure JRE step, that only JDKs and no JREs should be used, you can append `\..` after the variable to change into the JDK home directory. For example, to reference `tools.jar`, you'd have to write `%EXE4J_JVM_HOME%\..\lib\tools.jar`.

Note that for path selections by means of a file chooser ([...] buttons), exe4j will try to convert the path to be relative to the distribution source directory.