Running JLense Applications

The typical Java application is run by invoking the 'main' method of a Java class.
All JLense applications, however, are launched by the JLense launcher. This is because JLense applications run inside the core runtime environment. It is the core environment that controls everything, not your application.

To run a JLense application run the org.jlense.startup.JLenseMain from the startup directory something like this:

    java -cp startup.jar;classes \
        org.jlense.startup.JLenseMain \
        -data ../workspace/org.jlense.examples \
        -application org.jlense.uiworks.workbench [application-args]

Here is an explanation of the options used above:

  • -cp startup.jar;classes

    This specifies the class path to be used by java. All that java needs on the class path in order to start a JLense application is startup.jar (which contains the classes for the Eclipse application launcher) and the starup/classes directory (which contains the org.jlense.startup.JLenseMain class, a thin wrapper around the Eclipse application launcher). Any other classes required by a JLense application must be packaged as plugins. All plugin classes are managed by the core runtime environment and are made available to an application by the core runtime environment when appropriate.

  • org.jlense.startup.JLenseMain

    The class name of the JLense launcher.

  • -data <workspace-location>

    Sets the workspace location. A workspace is a directory used by the JLense platform for saving local data. For instance, the application log, local preference setting, and GUI state are all saved in this location. The workspace name is relative to startup directory. By convention all workspaces are created under the workspace directory. It is usually a good idea to choose a workspace name that matches your application ID.

  • -application <application-id> [<application-args>]

    The identifier of the application to run and optional arguments to pass to the application. Applications are registered with the platform runtime by declaring them in an org.eclipse.core.runtime.applications extension.