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.
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 In general, the compiled applications require the following system libraries: kernel 2.4.x or 2.6.x |
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.
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.
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:
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”.
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.
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.
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:
jetsetup -show-updates
jetsetup -switch-to-update index
jetsetup -show-profiles
If an Excelsior support engineer has advised you to select a particular combination of updates, do the following:
jetsetup -show-updates
jetsetup -activate-update list
where list is a colon-separated list of update names.
jetsetup -show-profiles
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
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:
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
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.
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.
Displays the list of currently available profiles.
Activates the profile denoted by index in the list of profiles. The profile must have Ready status.
If the status of the profile denoted by index in the list of profiles is Outdated, refreshes it.
If the status of the profile denoted by index in the list of profiles is Damaged, repairs it.
Removes the profile denoted by index in the list of profiles.
Displays the list of installed and applied updates.
Activates the updates denoted by update-names, which is a colon-separated list of update names.
Reverts to the configuration of updates denoted by index in the list of applied updates.
Cleans up the backup directory.
Displays JET Setup version.