Execution Environment Descriptions
In 3.3M6, the [Equinox Launcher] introduced the notion of an execution environment description file. This is a file with extension .ee that describes a JVM and the execution environment it represents.
.ee File Format
Entries in the .ee file are arguments to a java vm. Each argument is on a separate line. The arguments in this file should be all the arguments require to configure the virtual machine for the environment the .ee file describes.
The Equinox Launcher in 3.3 can be started with a -vm argument pointing to a .ee file. This file will be read and the arguments will be used when creating the JVM.
The Equinox Launcher defines the following arguments which it expects to find in the .ee file. The following arguments specify the vm and information required by the launcher to start that vm:
- -Dee.executable=<path to java executable>
- This argument specifies the path the java executable the launcher should use to start the virtual machine.
- -Dee.executable.console=<path to java executable>
- This argument specifies the path the java executable the launcher should use to start the virtual machine when a console is desired.
- -Dee.vm.library=<path to jvm shared library>
- This argument specifies the path to a shared library. The equinox launcher will use this library to load the vm in-process using the JNI Invocation API. The launcher looks for the "JNI_CreateJavaVM" symbol in the library.
- -Dee.library.path=<list of paths>
- This arguments specifies a list of paths (separated by ';' or ':' as appropriate for the platform) that are required in order to load the ee.vm.library.
- For example, on linux this property represents paths that need to be on the LD_LIBRARY_PATH in order to load the jvm shared librray.
In addition to being interpreted by the Equinox Launcher, these arguments are passed to the vm so that they are available in the java process as system properties.
In all of the above arguments, the path used can be either a relative path, or an absolute path.
If a relative path is used, it is resolved first relative to the .ee file. If it is not found relative to the .ee file, it is then resolved against the working directory.