Excelsior JET Evaluation Downloads

Download a fully functional 90-days evaluation copy of Excelsior JET 11:

OS X Logo

Excelsior JET 11 for OS X
(64‑bit, 172 MB)

If you are new to OS X, make sure to read this Knowledge Base article:
HOWTO: Package Your Natively Compiled Java Application as An OS X Application Bundle
Linux Logo

Excelsior JET 11 for Linux
(32‑bit, 159 MB)

Linux Logo

Excelsior JET 11 for Linux
(64‑bit, 179 MB)

Note: Some parts of 64-bit Excelsior JET 11 for Linux require 32-bit libraries.
Make sure to read the installation instructions.

32-bit vs 64-bit

Which version to evaluate: 32‑bit or 64‑bit?

As of version 11, 32‑bit Excelsior JET provides more features (see Release Notes below), and often delivers better application performance, but the final choice depends on your target platform(s):

Windows: 32‑bit executables install and work normally on 64‑bit Windows systems, so if Windows is your sole target, evaluate the 64‑bit version only if your application requires a large heap and/or needs to integrate with 64‑bit native libraries.

Linux: Installation of 32‑bit libraries on 64‑bit Linuces is often cumbersome, so you may need to provide both 64‑bit and 32‑bit Linux builds to your end users.

OS X: The OS X version of Excelsior JET is 64‑bit only, so you don't really have a choice.

Windows Logo Linux Logo

Excelsior JET Embedded 11
(requires registration)

Update 29-Apr-2016: Make sure to also download and apply Maintenance Pack 3,
which fixes a critical bug in Excelsior JET Runtime and adds support for Java SE 8 Update 91.

Java Version Support

Excelsior JET 11 supports Java SE 8 Update 40 (1.8.0_40) out-of-the-box, and the following versions with the installation of updates:

Java version Excelsior JET 11 update
Java SE 8 Update 65 (1.8.0_65) Maintenance Pack 1
Java SE 8 Update 72 (1.8.0_72) Maintenance Pack 2
Java SE 8 Update 91 (1.8.0_91) Maintenance Pack 3

Platform Support

See the System Requirements section for details on hardware and operating system support.

New And Noteworthy

  • Java SE 8 and JavaFX 8 support
  • Startup time improvement technologies ported over to the 64‑bit versions (except for Startup Accelerator on OS X)
  • Command-line interface to JetPackII

See the Changelog for details.

Notice Some features are missing in the 64‑bit version:

  • Some compiler optimizations
  • Startup Accelerator (missing in the OS X version only)
  • Global Optimizer, and hence Java Runtime Slim-Down

Known Issues

All Platforms

Critical There is an intermittent critical bug in the original Excelsior JET 11 Runtime. Make sure to download and apply Maintenance Pack 1 or later update.

Massive changes to Apache Tomcat classloaders were made in version 7.0.63. The next version of Excelsior JET will support these changes (and also Tomcat 8, from which they were backported). For now, please stick to Tomcat 7.0.62 or earlier.

OS X

The OS X version is the youngest, so there are still some rough edges, especially in the graphical tools (JET Control Panel and JetPackII):

  1. They can only be started from the command line.
  2. You may need to install an X Window implementation such as XQuartz. Why?

    Certain Excelsior JET functionality involves running your natively compiled program in a terminal. On Linux, it employs xterm for that purpose. For now Excelsior JET for OS X also falls back to xterm, but future versions will either employ the standard OS X terminal emulator, Terminal.app, or will have the respective functionality reimplemented without such external dependencies.

  3. Menu bars are shown under window title bars, not at the top of the screen.
  4. File choosers have Windows L&F.

Note: Before starting installation, it is recommended that you log on with administrator authority.

To install Excelsior JET, simply launch the EXE file you have downloaded and follow the on-screen prompts.

Upon successful installation, the JET Setup program will be invoked automatically:

JET Setup Welcome Screen

If your application works fine on the specific version of Java indicated in the Use default profile option, simply click Finish.

Otherwise, select Create a new profile and click Next to proceed to the Profile Manager.

Prerequisites

As of version 11, certain functions of Excelsior JET for OS X graphical tools require xterm. If you do not have xterm, install an X Window implementation such as XQuartz.

Installation

Excelsior JET for OS X is packaged as a command-line installer. This may change in future versions. To install it, do the following:

Launch Terminal.app.

Change the working directory to the file system location under which you want to install Excelsior JET, such as /opt, change permissions of the binary that you have downloaded and launch it. (You may need to use sudo when installing to a location outside your home directory.) For instance:

$ cd /opt
$ chmod a+x ~/Downloads/jet-1100-eval-en-osx-amd64.bin
$ sudo ~/Downloads/jet-1100-eval-en-osx-amd64.bin

The installer 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 ./jet10.5-eval-amd64.

Now, suppose the full path to that directory is JET-home. Add the subdirectory JET-home/bin to the PATH environment variable. For instance, if you are using bash, either use the following command:

$ export PATH=JET-home/bin:$PATH

or run the setenv script located in the Excelsior JET installation directory:

$ cd JET-home
$ source setenv

Notice Make sure to run it as source setenv (can be abbreviated as . setenv) so that it affects the current shell.

x

Important notice for 64-bit Linux users:

As of version 11, some key components of the 64‑bit version of Excelsior JET for Linux remain 32‑bit. Most 64‑bit Linux systems do not have the 32‑bit libraries installed by default. If you receive a "No such file or directory" or "cannot execute binary file" message on an attempt to run any Excelsior JET component, or one of its graphical tools fails on startup with

Exception in thread "main" java.lang.NoClassDefFoundError: java.awt.Frame

you need to install those libraries.

On Ubuntu/Debian, the procedure used to be as simple as:

sudo apt-get install ia32-libs

but in the latest versions you have to list the libraries explicitly:

sudo apt-get install libc6:i386 libx11-6:i386 libxext6:i386 libxrender1:i386 libxi6:i386 libxtst6:i386

The list of libraries and installation procedure in other distros may differ.

(Full 64‑bit port is our top priority, but doing it right takes time. Please bear with us.)

To install Excelsior JET for Linux, do the following:

In a terminal window, change the working directory to the file system location under which you want to install Excelsior JET, such as /opt, change permissions of the binary that you have downloaded and launch it. (You may need to use sudo when installing to a location outside your home directory.) For instance:

$ cd /opt
$ chmod a+x ~/Downloads/jet-1100-eval-en-linux-x86.bin
$ sudo ~/Downloads/jet-1100-eval-en-linux-x86.bin

The installer 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 ./jet11-eval-x86 or ./jet11-eval-amd64.

Now you need to set up the environment variables. 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, either issue the following two commands:

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

or run the setenv script located in the Excelsior JET installation directory:

$ cd JET-home
$ source setenv

Notice Make sure to run it as source setenv (can be abbreviated as . setenv) so that it affects the current shell.

If you abstain from reading product manuals, here is a shortcut.

To compile an Eclipse RCP application or a Tomcat Web application, invoke the JET Control Panel. Show me how

Windows: select JET Control Panel from Excelsior JET Start Menu.

OS X/Linux: type

$ jetcp

at the command prompt and press Enter.

On the Welcome Screen, click the respective item:

Eclipse/Tomcat app

and follow the on-screen prompts.

To compile a plain Java application that can be run with the java launcher, do the following:

  1. Update 08-Dec-2015: If you build your app with Maven, check out the Excelsior JET Maven Plugin beta.

  2. Identify the command line that runs your application on the conventional JRE, e.g.

    java -Xmx256m -Dfoo="bar" -jar MyApp.jar

    If your app is run by a shell script, create a copy of that script, open it in a text editor, and find the java command launching your application.

    If you use an IDE, such as IntelliJ IDEA, Eclipse, or NetBeans, the java launcher command line is typically displayed at the top of a Run window that appears when you start your application from within the IDE. You may select it and copy to clipboard.

  3. Locate the Excelsior JET Launcher under the current profile directory, and determine its full pathname, for instance:

    JET-home\profile1.8.0_40\jre\bin\java.exe (Windows)
    JET-home/profile1.8.0_40/jre/bin/java (OS X/Linux)

  4. Replace the pathname of the standard java launcher with the above pathname in the command line you identified on step 1, and execute the resulting command (or the modified shell script.)

    This will bring up a dialog displaying the application's working directory and command line:

    JET Launcher Form

  5. Click Proceed to create a new project and open it in the JET Control Panel.

We did our best to make the following steps obvious to a person used to not read product manuals. :)

As you may see, the Excelsior JET Launcher has the same command line interface as the standard java launcher, but instead of running your application right away, it collects the information about its launch time configuration, such as classpath, main class, working directory, heap size, system properties, etc., and passes them to the JET Control Panel so that you could adjust those and other settings.

This is the fastest way to begin using Excelsior JET for the optimization of your application and also the easiest way to set up a project if your Java application is started via a complex script file.

Excelsior JET Maven Pluginbeta

The Excelsior JET Maven Plugin, currently in beta, enables you to add support for native builds to your existing Maven projects with ease. It is being developed as an open source project and is hosted on GitHub.

The current version only supports two types of applications:

  • Plain Java SE applications, defined as applications that (a) can be run with all dependencies explicitly listed on the command-line of the conventional java launcher: java [-cp dependencies-list] main-class and (b) load classes mostly from the listed jars.
  • Tomcat Web applications

The plugin is on Maven Central, so all you need to use it in a plain Java SE application project is:

  1. Copy and paste the following configuration into the <plugins> section of your pom.xml file:

    <plugin>
        <groupId>com.excelsiorjet</groupId>
        <artifactId>excelsior-jet-maven-plugin</artifactId>
        <version>0.6.0</version>
        <configuration>
            <mainClass></mainClass>
        </configuration>
    </plugin>

  2. Set the <mainClass> parameter, and

  3. Run Maven with the jet:build goal:

    mvn jet:build

Notice The above assumes that a copy of Excelsior JET is accessible via the operating system PATH.

Refer to plugin documentation for further instructions.

System Requirements

Developer System Where Excelsior JET is installed

CPU: x86 (Intel Pentium III or compatible) at 800 MHz or higher; or
x64 (AMD64/Intel 64 or compatible)
RAM: 2 GB minimum, 3 GB or more recommended
Disk Space: 650 MB minimum
Note: Creation of a new profile requires up to 750MB extra for temporary use.
Display: 1024x768x256c minimum for project setup. Automated builds run in command-line mode.
O/S:

Microsoft Windows 8.x, 7, Server 2012, or Server 2008 R2

OS X:

  • OS X 10.8, 10.9, or 10.10
  • Graphical tools require X11 and xterm
  • xterm must be reachable via the command search path

Linux:

  • kernel 2.6.16 or above
  • glibc 2.4 or above
  • NPTL 2.4 or above
  • 32‑bit libraries must be present on 64‑bit systems
  • Graphical tools require X11 and xterm
  • xterm must be reachable via the command search path

Enduser System Where compiled apps run

CPU: 32‑bit: Intel IA-32 (Pentium Pro and above) or compatible
64‑bit: Any x64 (AMD64/Intel 64) or compatible
RAM:

32‑bit: As if run on the Oracle JRE, or somewhat less.

64‑bit: Applications may need more memory than if run on the 64‑bit Oracle JRE with compressed 64-bit oops enabled

Disk Space: Less than original jars and the Oracle JRE together, even when the download size and disk footprint reduction features are not used.
Display: As when running the app 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 downloading the detached package at run time.
O/S:

64‑bit executables require a 64‑bit O/S

Microsoft Windows 8.x, 7 SP1, Vista SP2, Server 2012, Server 2008 R2 SP1

OS X 10.8, 10.9, or 10.10

Linux:

  • kernel 2.6.16 or above
  • glibc 2.4 or above
  • NPTL 2.4 or above
  • 32‑bit executables require installation of 32‑bit libraries on 64‑bit systems

See also the Compliance Tests section below.

JRE: Not required

Compliance Tests

Excelsior JET 11 has passed Java SE 8 compliance tests on the following operating systems:

Windows Server 2008 (x86)
Windows 7 (x64)
Windows 8 (x64)
Windows Server 2012 (x86 and x64)

OS X 10.9.1 and 10.10

RedHat Enterprise Linux AS 6.4 (x64)
SUSE Linux Enterprise Server 10 SP2 (x86)

Excelsior JET 11 is fully supported on these platforms.

Support services for operating system flavors, distributions, and versions other than listed above is provided either under the terms of your Support Contract or on a consultancy basis, at Excelsior's sole discretion.