Excelsior JET Evaluation Downloads

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

OS X Logo

Excelsior JET 12.0 for OS X
(64‑bit, 195 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

32-bit vs 64-bit

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

As of version 12.0, 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.

Java Version Support

Excelsior JET 12.0 supports Java SE 8 Update 121 (1.8.0_121) out-of-the-box.

Platform Support

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

New And Noteworthy

  • Application performace improvements
  • Profile-Guided Optimization (64‑bit Enterprise Edition only)
  • 64-bit versions now include the Global Optimizer
  • The 64-bit Linux version no longer depends on 32-bit libraries

See the Changelog for details.

Known Issues

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.

Also, the Startup Accelerator is missing.

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 12.0, 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-1200-eval-en-osx-amd64.bin
$ sudo ~/Downloads/jet-1200-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:

If you want to build and test 32‑bit binaries, please be aware that most 64‑bit Linux systems do not have 32‑bit libraries installed by default. If you receive a "No such file or directory" or "cannot execute binary file" on an attempt to install the 32‑bit version of Excelsior JET for Linux or run one of its components on a 64‑bit system, or if one of Excelsior JET graphical tools fails on startup with

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

you need to install some or all of the required 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 installation procedure in other distros may differ.

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-1200-eval-en-linux-x86.bin
$ sudo ~/Downloads/jet-1200-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 ./jet12.0-eval-x86 or ./jet12.0-eval-amd64.

Now you may want to add JET-home/bin to the PATH environment variable, where JET-home is the full pathname of the the directory into which you have unpacked Excelsior JET.

For instance, if you are using bash or Bourne shell, either issue 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.

If you abstain from reading product manuals, here are some shortcuts.

First of all, if you are using Maven or Gradle and your application is not an Eclipse RCP application, go to the Excelsior JET Maven and Gradle plugins section.

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

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

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

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

  4. 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 And Gradle Plugins

Excelsior JET Maven and Gradle plugins enable you to add support for native builds to your existing Maven projects or Gradle build scripts with ease. Both plugins are on Maven Central, so you can start using them right away.

The current versions of both plugins support all types of applications that Excelsior JET can handle, beside Eclipse RCP apps:

  • 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
  • Java applications disguised as Windows services using the Excelsior JET WinService API
  • Invocation dynamic libraries (e.g. Windows DLLs) callable from non-JVM languages

If your application belongs to one of these types, refer to the respective plugin home page for further instructions.

The plugins are being developed as open source projects, hosted on GitHub.

Excelsior JET Maven Plugin: Home page | on GitHub | on Maven Central
Excelsior JET Gradle Plugin: Home page | on GitHub | on Maven Central

System Requirements

This section has moved to a dedicated page.