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.
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:||Microsoft Windows 2000, Server 2003, XP, Server 2008, Vista, Windows 7, and Windows 8|
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 DLLs 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 Windows has passed Java SE 6 compliance tests on the following operating systems:
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.
Note: Before starting installation on Windows, it is recommended that you log on with administrator authority.
Excelsior JET is distributed as a self-installing package. To begin installation, simply launch the EXE file you have downloaded or received on CD and follow the on-screen prompts.
After successful installation, the JET Setup program will be invoked automatically to let you configure Excelsior JET for a particular Java SE microversion required by your application (see Profiles.):
If your application works fine on the version of the Oracle JRE indicated in the Use default profile option, simply click Finish. JET Setup will close and the JET Control Panel will open automatically unless you have unchecked the respective box.
Otherwise, select Create a new profile and click Next to proceed to the Profile Manager.
A profile is the set of Excelsior JET Runtime files /DLLs with precompiled platform API classes, DLLs 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 DLLs. 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.
Note: JET Setup is launched automatically at the end of the installation process. Later, you access it by selecting the JET Setup item from the Excelsior JET Start Menu folder.
Upon startup, JET Setup displays the main Profile Management screen:
Each item in the list of profiles contains a profile name, a status tag, and the names of jar files that contain classes overriding endorsed standards, if any were specified during profile creation / Moving the mouse over an item displays a tooltip with full pathnames of those jar files./ .
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:
To create a new profile, click New. The New Profile wizard shall display.
To change the active profile, select a profile marked as Ready, click Activate and click Close to exit JET Setup.
To refresh an Outdated profile, select it from the list and click Refresh. If recompilation of Java platform classes is necessary, time and disk space estimations will be displayed. Make sure you have enough disk space, close all applications you do not need at the moment and click Next to begin compilation.
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, select it from the list and click Repair. If recompilation of Java platform classes is necessary, time and disk space estimations will be displayed. Make sure you have enough disk space, close all applications you do not need at the moment and click Next to begin compilation.
To delete a profile you no longer need, select it from the list and click Delete.
To exit JET Setup, click Close. If no profile is marked Active, a message box shall display, urging you to activate a profile.
The wizard displays the list of exact Java SE versions supported by your Excelsior JET installation, such as 1.6.0_43:
If the desired version is not listed, you need to download the respective updates from Excelsior’s Web site, install them and restart JET Setup. If your application strongly require a particular Java SE version that is neither supported by your JET installation nor present at the list of available updates on the web site, please contact Excelsior.
After you selected the Java SE version, click Next to proceed. The Endorsed Standards Override screen will display.
According to the Oracle documentation, endorsed standards are APIs included in the Java Platform but defined through a process other than the Java Community Process. As a result, newer versions of such APIs may become available between Java Platform releases. The Endorsed Standards Override Mechanism is the only “official” way for application authors to use such newer versions of endorsed standards in their Java applications (you may not use the BOOTCLASSPATH feature in a production environment.)
By default, the Oracle HotSpot VM looks for jars with overriding classes in directories listed in the java.endorsed.dirs system property, which in turn defaults to the lib/endorsed subdirectory of the JRE directory.
For details, see Oracle Java SDK documentation.
After you select the Java SE version, JET Setup displays the Endorsed Standards Override screen:
If you are not sure whether the application you want to compile requires endorsed standards override, do the following:
Now choose one of the following options:
Also select this option if the property java.endorsed.dirs is set to an empty string.
The jars with endorsed standards will be picked up automatically and displayed in the listbox at the bottom of the screen.
Note: During profile creation, the jars will be copied to the Excelsior JET profile directory, so if you update the original jars or need to switch to a different set of jars with endorsed standards, you will have to create a new profile.
Click Next to proceed. The confirmation screen shall display.
Before creating, updating, or repairing a profile, JET Setup displays a confirmation screen:
Review your selections and click Next to proceed, or click Back if you need to make any corrections. The status screen with progress indicators shall display:
If compilation of Java platform API classes is required, the process may take from 30 minutes to several hours, depending on the your system configuration.
Note: If the compilation process is too slow, disable local filesystem access monitoring in your anti-virus software. Do not forget to re-enable it after the compilation process ends.
Upon successful completion of a profile creation, refresh, or repair operation, the wizard shall display the following information screen:
By default, after you click Finish, JET Setup will activate the profile you have just created and close automatically, launching the JET Control Panel for you. To return to the main Profile Manager screen, clear the Start JET Control Panel checkbox and click Finish. To return to the main Profile Manager screen without activating the profile you have just created, clear the respective checkbox and click Finish.
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.
An update is distributed as an executable file. When run, it tries to determine 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. When applying such an update, JET Setup runs the Profile Manager automatically to let you update the existing profiles or create new ones. If you plan to install another update (e.g. a hotfix issued after the Maintenance Pack you just installed), click Close.
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:
Select Manage JET Updates in the Excelsior JET Start Menu. This will display the basic interface of the Update Manager:
It displays the current update level, such as “jet-800-mp1”. To move one step back or forth in your update installation history, click Undo or Redo respectively. Do that repeatedly until the desired configuration of updates is displayed as current and click Next. JET Setup will display the set of profiles available for the configuration you have selected to let you activate one of them, possibly after a refresh.
If an Excelsior support engineer has advised you to select a particular combination of updates, do the following:
Select Manage JET Updates in the Excelsior JET Start Menu, and click Advanced. This will display the advanced Update Manager interface:
Use checkboxes to select the combination of updates suggested by Excelsior Support and click Next.
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 Manage JET Updates from the Excelsior JET Start Menu, click Advanced and then click Cleanup. This will display the list of profile backup directories:
Selecting a directory displays the description of the respective backup configuration. Click Cleanup to remove the selected directory and its contents. Click Close when you are done with cleanup.
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.