Super Prev Next

Installation and setup

Excelsior JET comes preconfigured for one of the recent J2SE versions, such as 1.5.0_05 (J2SE 5.0 Update 5.) /This is a microversion of the latest J2SE version which compliance test suite (JCK) Excelsior JET has passed./ If your application can be run successfully on that particular version of the Sun JRE and does not require endorsed standards override, you can begin using Excelsior JET right after installation. If your application requires a different J2SE microversion or overrides endorsed standards, you also have to configure Excelsior JET accordingly before compiling your application. See Profiles for details.


Super Prev Next

System requirements

The system requirements for Excelsior JET itself are as follows:

CPU: Intel Pentium III or compatible at 800 MHz or higher
RAM: 384 MB minimum, 512 MB or more recommended for J2SE 5.0 projects
Disk space: 420 MB minimum
Note: Creation of a new J2SE 5.0 profile requires up to 650MB extra for temporary use.
Display: The JET Control Panel and JetPackII graphical tools require display resolution of 1024x768x256c minimum (HiColor recommended). If such resolution is not available, the product may still be used in the command-line mode.
Operating system: kernel 2.4.x or 2.6.x
glibc 2.2.5 or above
LinuxThreads 0.9 (or above) or NPTL 0.29 (or above)
X11 and xterm are required by graphical tools.
xterm must be reachable via the command search path.

The system requirements for applications compiled by Excelsior JET are as follows:

CPU: Intel IA32 or 100% compatible, clock speed as if run on the respective version of the Sun JRE
RAM: Most applications will need the same or somewhat lower amount of RAM as if run on the Sun JRE
Disk space: A binary executable created by Excelsior JET in the default mode will occupy 2-4 times more disk space than the original jar file. It also requires the Excelsior JET Runtime (set of shared libraries and data files) to run, but does not require the Sun JRE.
Display: Same requirements as if run on the Sun JRE
Operating system: Excelsior JET 4.1 for Linux has passed J2SE 5.0 and 1.4.2 compliance tests on the following Linux distributions:

RedHat Enterprise Linux AS 3.0
RedHat Enterprise Linux AS 4.0

In general, the compiled applications require the following system libraries:

kernel 2.4.x or 2.6.x
glibc 2.2.5 or above
LinuxThreads 0.9 (or above) or NPTL 0.29 (or above)

Changed in 4.0:

Excelsior JET has been certified for compliance with versions 1.4.2 and 5.0 of the Java 2 Standard Edition specification and contains licensed code of these versions of the J2SE Platform API. As a result, applications compiled by Excelsior JET no longer require the Sun JRE to work, but the downside it that J2SE 1.3.x, 1.4.0, and 1.4.1 are no longer supported.


Super Prev Next

Installation

Excelsior JET for Linux is distributed as a self-extracted ZIP archive. To install it, change the working directory to /usr/local or another location of your choice and run the .bin file you have downloaded or received on CD:

    chmod a+x ~/downloads/jet-400-pro-en-linux.bin
    cd /usr/local
    ~/downloads/jet-400-pro-en-linux.bin

It will invoke the more utility to display the license agreement. After you page through it, the following message shall display:

    Do you agree to the above license terms? [yes or no]

Type "yes" and hit Enter to accept the license and the installer will unpack the product files into a subdirectory named in accordance with product version and edition, e.g. ./jet4.0-pro.

Now you need to set up the environment. Suppose you have unpacked JET into the directory JET-home. The directory JET-home/lib/x86/shared must be listed in the LD_LIBRARY_PATH environment variable, and JET-home/bin in the PATH environment variable.

For instance, if you are using bash or Bourne shell, use the following commands:

    export PATH=JET-home/bin:$PATH
    export LD_LIBRARY_PATH=\
    JET-home/lib/x86/shared:$LD_LIBRARY_PATH

There is a bash script in the Excelsior JET installation directory that you can use to set these variables:

    cd /usr/local/jet4.0-pro
    source setenv

Note you have to run the script as source setenv (can be abbreviated as <dot><space>setenv) so that it affects the current shell.

Run the command

    jetsetup -show-profiles

If your application works fine on the version of the Sun JRE indicated in the existing profile, you are done with setup and can begin optimizing your application

Otherwise, use JET Setup to create a new profile.


Super Prev Next

Profiles

Before you begin using Excelsior JET for the optimization of your applications, you have to configure it for a particular microversion of the Java 2 platform. You can do that using the JET Setup program.

What JET Setup essentially does is precompile Java platform classes for the particular J2SE microversion into a set of shared libraries. It is important to note that if your application relies on the Endorsed Standards Override Mechanism, the overriding classes have to be precompiled instead of their counterparts shipped with the Java platform.

The set of Excelsior JET runtime files (shared libraries with precompiled platform API classes, shared libraries with native methods, and auxuliary files) for the given J2SE version and the given set of jars overriding endorsed standards is called a profile. You may create multiple profiles and switch between them according to your applications’ compatibility requirements.

To display the list of available profiles, execute the following command:

    jetsetup -show-profiles

The output will look as follows:

    Please wait...
    The following profiles were found by JET Setup:

      0: profile1.5.0_04
    Profile status: Active
    J2SE: 1.5.0_04

Each item in the list of profiles contains a profile index and name, a status tag, and the names of jar files that contain classes overriding endorsed standards, if any were specified during profile creation.

Profile names are based on respective J2SE version numbers, such as “1.5.0_04 (2)”.

Status tags have the following meanings:

Active

The profile is consistent and up-to-date and Excelsior JET is currently set up to compile your applications against it.
Ready

The profile is consistent and up-to-date. Select it and click Activate to make it the active profile.
Outdated

The profile may not be used, because an Excelsior JET update was applied or rolled back, so a (partial) rebuild of the profile is necessary for correct operation.
Damaged

The profile was damaged and may not be used. Usually this indicates that one or more of its files are missing.
RemoveOnly

There is a profile directory on the disk, but JET Setup has no information about that profile. Usually this happens as a result of installing Excelsior JET on top of the previous installation. All you can do with such a profile is remove it.

To create a new profile, run the jetsetup utility as follows:

    jetsetup -create-profile J2SE-version [options]

where J2SE-version is the exact J2SE 1.4 or 5.0 microversion on which the profile will be based, for instance:

    jetsetup -create-profile 1.5.0_02

To find out which J2SE microversions are supported by your Excelsior JET installation, run jetsetup without parameters.

To specify classes overriding endorsed standards, use one of the following options:

    -endorsed-dirs dir-list

dir-list is a colon-separated list of directories containing jar files overriding endorsed standards. Ignored if the option -create-profile is not specified or the option -endorsed-jars is specified.

    -endorsed-jars jar-list

dir-list is a colon-separated list of jar files overriding endorsed standards. Ignored if the option -create-profile is not specified.

JET Setup will display output similar to the following:

    Please wait...
    Compiling J2SE API classes. Please stand by...
    Please wait while JET Setup prepares for compilation
       .  .  .

The process of compilation can take from 20-30 minutes to several hours, depending on your system configuration and selected J2SE version (1.4 or 5.0). In the end JET Setup should report that the new profile was successfully created.

To change the active profile, run jetsetup as follows:

    jetsetup -activate-profile index

where index is the numerical index of the desired profile in the list displayed by the command “jetsetup -show-profiles”.

To refresh an outdated profile, run jetsetup as follows:

    jetsetup -refresh-profile index

where index is the numerical index of the profile you want to refresh in the list displayed by the command “jetsetup -show-profiles”.

To make an outdated profile ready for use without refreshing it, use the Update Manager to rollback to the update level matching that profile.

To repair a damaged profile, run jetsetup as follows:

    jetsetup -repair-profile index

where index is the numerical index of the profile you want to repair in the list displayed by the command “jetsetup -show-profiles”.

To remove a profile you no longer need, run jetsetup as follows:

    jetsetup -remove-profile index

where index is the numerical index of the profile you want to remove in the list displayed by the command “jetsetup -show-profiles”.


Super Prev Next

Updates

Excelsior periodically issues updates to the Excelsior JET product which fix bugs, add support for the latest J2SE microversions and minor feature enhancements. The JET Setup tool includes an update manager that enables you to install and apply product updates, rollback to previous update levels and select custom combinations of updates.

The set of files constituting the product is split into logical components, such as compiler, runtime, graphical tools and utilities, samples, documentation, and so on. When a defect is resolved in one of the components, the engineering team may issue a hotfix containing the corrected version of that component.

Since components are dependent on each other, a hotfix may include two or more updated components, for instance, a fix in the compiler module that emits object files may require changes in the linker.

Hotfixes are always cumulative: a component included in a hotfix is built from sources containing fixes for all bugs addressed by previously issued hotfixes containing that component. This rule substantially simplifies update management.

Hotfixes are available on-demand. If you report a particular problem that is already resolved through a hotfix, the support team will email that hotfix to you.

A Maintenance Pack is essentially a hotfix for all components updated since the initial release of the given version of the product. Maintenance Packs are announced through mailing lists and are made available for download.

To minimize download size, any hotfix issued after the latest Maintenance Pack requires prior installation of that Maintenance Pack.


Super Prev Next

Update installation

An update is distributed as an executable file. When run, it prompts you for the location of the respective version of Excelsior JET on your system. It then unpacks the files constituting the update into a special location inside the JET directory and invokes JET Setup to apply the update.

Note: Updates that make changes in the compiler and runtime are most likely to change the status of the Active and Ready profiles to Outdated. After applying such an update use, use JET Setup to refresh the Outdated profiles or create new ones as described in Profiles. If you need to install several updates, e.g. a Maintenance Pack and a hotfix issued after that Maintenance Pack, first install them all and then run JET Setup to refresh or create profiles.


Super Prev Next

Update management

Once you have installed one or more product updates, you can rollback to any update level or return to the latest level at any time as follows:

  1. Display the list of installed updates using the command:

        jetsetup -show-updates

  2. Locate in the list the update level to which you want to revert and memorize its numerical index. Then run jetsetup again as follows:

        jetsetup -switch-to-update index

  3. Display the list of profiles available for the new update level:

        jetsetup -show-profiles

  4. If necessary, refresh one or more profiles or create new ones as described in Profiles.

If an Excelsior support engineer has advised you to select a particular combination of updates, do the following:

  1. Display the list of installed updates using the command:

        jetsetup -show-updates

  2. Locate in the list the updates which you need to activate. Then run jetsetup again as follows:

        jetsetup -activate-update list

    where list is a colon-separated list of update names.

  3. Display the list of profiles available for the new combination of updates:

        jetsetup -show-profiles

  4. If necessary, create new profiles as described in Profiles.


Super Prev Next

Cleaning up backed up configurations

Each time you install an update that invalidates the currently set up profiles, JET Setup backs up those profiles into a subdirectory of your Excelsior JET installation so as to enable rollback. Profiles occupy dozens of megabytes of disk space, so you may wish to remove profiles for update levels to which you do not plan to revert.

To remove backed-up profiles, run the jetsetup tool as follows:

    jetsetup -cleanup-backup


Super Prev Next

JET Setup options summary

On Linux, JET Setup is only available as a command-line utility. To access JET Setup functionality from the command line, invoke the jetsetup utility with one or more of the following options:

-create-profile full-J2SE-version

Initiates creation of a new profile. full-J2SE-version is the complete version number of the Java platform for the new profile, for instance:

jetsetup -create-profile 1.5.0_02

-endorsed-dirs dir-list

dir-list is a colon-separated list of directories containing jar files overriding endorsed standards. Ignored if the option -create-profile is not specified or the option -endorsed-jars is specified.

-endorsed-jars jar-list

dir-list is a colon-separated list of jar files overriding endorsed standards. Ignored if the option -create-profile is not specified.

If this option is specified, the option -endorsed-dirs is ignored.

-show-profiles

Displays the list of currently available profiles.

-activate-profile index

Activates the profile denoted by index in the list of profiles. The profile must have Ready status.

-refresh-profile index

If the status of the profile denoted by index in the list of profiles is Outdated, refreshes it.

-repair-profile index

If the status of the profile denoted by index in the list of profiles is Damaged, repairs it.

-remove-profile index

Removes the profile denoted by index in the list of profiles.

-show-updates

Displays the list of installed and applied updates.

-activate-update update-names

Activates the updates denoted by update-names, which is a colon-separated list of update names.

-switch-to-update index

Reverts to the configuration of updates denoted by index in the list of applied updates.

-cleanup-backup

Cleans up the backup directory.

-version

Displays JET Setup version.