Super Prev Next

Installation and setup

Excelsior JET comes preconfigured for one of the recent Java SE versions, such as 1.6.0_43 (Java SE 6 Update 43.) /This is a microversion of the latest major Java version which compliance test suite (JCK) Excelsior JET has passed./ If your application can be run successfully on that particular version of the Oracle JRE and does not require endorsed standards override, you can begin using Excelsior JET right after installation. If your application requires a different Java SE 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: x86 (Pentium III or compatible) at 800 MHz or higher;
  x64 (AMD64/Intel 64 or compatible)
RAM: 2GB minimum, 3GB or more recommended
Disk space: 650 MB minimum
  Note: Creation of a new profile requires up to 750MB 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.6 or above
glibc 2.3 or above
NPTL 2.3 or above
Bash shell (of a reasonably modern version)
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: x86 (Pentium Pro and above) or compatible;
  x64 (AMD64/Intel 64 or compatible)
RAM: Most applications will need the same or somewhat lower amount of RAM as if run on the Oracle JRE
Disk space: A binary executable created by Excelsior JET in the default mode will occupy 2-3 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 Oracle JRE.
Display: Same requirements as if run on the Oracle JRE
Network: If you deploy the optimized applications using the Java Runtime Slim-Down model, target systems must have Internet/Intranet connection for possible download of the detached package. For more details, see Chapter Java Runtime Slim-Down.
Operating system: Excelsior JET 8.0 for Linux has passed Java SE 6 compliance tests on the following Linux distributions:
  • RedHat Enterprise Linux AS 4.0
  • RedHat Enterprise Linux AS 5.0
  • SUSE Linux Enterprise Server 9
  • SUSE Linux Enterprise Server 10
  In general, the compiled applications require the following system libraries:
  • kernel 2.6 or above
  • glibc 2.3 or above
  • NPTL 2.3 or above

Note: Excelsior provides full Technical Support Service for RedHat Enterprise Linux 4.0, RedHat Enterprise Linux 5.0, SUSE Linux Enterprise Linux 9 and SUSE Linux Enterprise Linux 10 under the terms of available Support Contracts.

Providing support services for other Linux flavors is at discretion of Excelsior and may require an additional consultancy agreement. For more information, contact Excelsior Support Service department at

          support@excelsior-usa.com

Excelsior JET has been certified for compliance with the specification of the Java platform, Standard Edition 6, and contains the licensed code of this version of the Java SE platform API.


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-800-pro-en-linux.bin
    cd /usr/local
    ~/downloads/jet-800-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. ./jet8.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/jet8.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 Oracle 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

A profile is the set of Excelsior JET Runtime files /shared libraries with precompiled platform API classes, shared libraries with native methods, resource files, etc./ for the given Java SE version and the given set of jars overriding endorsed standards. A new installation of Excelsior JET contains a single default profile. It is typically based on the latest Java SE microversion available at the moment of publishing the current release of Excelsior JET. This profile has no Endorsed Standards overridden.

Using the JET Setup program, you may create additional profiles and switch between them according to your applications’ requirements. New profiles are based on any of Java SE microversions supported by Excelsior JET. The list of supported microversions is displayed by JET Setup when you start creating a new profile. Typically, the just released Excelsior JET supports only one Java SE microversion. As new Java SE updates are released by Oracle, Excelsior provides updates for JET that add support for these Java SE microversions. Visit Excelsior’s Web site to check what versions are currently supported.

Creation of a new profile includes precompiling of Java platform classes for a particular Java SE 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.

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.6.0_43
    Profile status: Active
    Java SE: 1.6.0_43

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 Java SE version numbers, for example name “1.6.0_43 (2)” means that the profile is based on Java SE 6 Update 43.

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 supported-java-se-version [options]

where supported-java-se-version is the exact Java SE version on which the profile will be based, for instance:

    jetsetup -create-profile 1.6.0_43

To find out which Java SE 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 Java SE API classes. Please stand by...
    Please wait while JET Setup prepares for compilation
       .  .  .

The process of compilation can take from 30 minutes to several hours, depending on your system configuration. 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 Java SE 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-java-se-version

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

jetsetup -create-profile 1.6.0_43

-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.


Super Prev Next

Reproducing the build environment

You may need to reproduce the Excelsior JET build environment for the given version of your application in the following circumstances:

If you do not have an SCM system or if your Excelsior JET installation is not managed, make sure to write down the following information for each version of each application you ship to end users or install in your production systems:

If you are using the endorsed standards override feature, you also need to keep copies of the respective jars or at least write down their exact versions.