Excelsior JET enables you to distribute and deploy your Java™ applications as optimized native executables that start and work faster, do not depend on the JRE, and are as difficult to reverse engineer as if they were written in C++.
What Is It?
Excelsior JET is a complete implementation of the Java SE technology for Microsoft Windows, Apple OS X, and Linux. It includes:
- Java SE 8 compatible JVM
- Ahead‑Of‑Time (AOT)
Java to native code compiler
- Complete Java SE 8 and JavaFX 8 API implementations, licensed from Oracle
- Deployment toolkit
Excelsior JET has passed the official compliance tests (JCK) and is certified Java Compatible.
How It Works
First, the AOT compiler turns your jar and class files into a conventional binary executable. That executable is fully interoperable with our JVM, which includes a JIT compiler to handle any classes that were not precompiled.
Second, the deployment toolkit helps you create an installer containing the application executable, necessary runtime files, and the auxiliary files of your choice — data files, documentation, license, etc.
What Does “Java Compatible” Mean, Exactly?
You may be wondering what it takes to get this little Java Compatible logo and, more importantly, what benefits it delivers to you as a user of our product. These are the key points:
Notice The JCK is not a stress test. It does not benchmark the implementation's performance or throughput.
Benefits Why Use It?
Protection Against Java Decompilers Peace of mind
Java class files are easy to reverse-engineer. The very properties that enable Java applications to run anywhere make reverse translation straightforward. There are a number of Java decompilers on the market that produce amazingly readable source code.
In contrast, reverse translation of optimized native code is a hard engineering task that cannot be automated like Java bytecode decompilation.
can make the decompiled code less comprehensible.
However, name obfuscation may cause reflection and JNI failures,
whereas extensive control flow obfuscation negatively impacts performance
and may provoke a
VerifyError. To make things worse,
these problems only manifest themselves when the respective
class is actually loaded at application run time, and thus may slip through
the QA process.
And reverse engineering of an equivalent C++ program passed through an
optimizing compiler would still be more difficult.
Excelsior JET gives you the best of both worlds. With it, you reduce the set of class and jar files comprising your Java application to a solid binary executable before shipping it to customers or delpoying it to production servers. You avoid the obfuscation trade-offs: reduced performance and increased risk of run-time errors. You may continue using tools that encrypt strings and resources, and you may pass classes not accessed via JNI or reflection through a name obfuscator if you know what you are doing.
Improved User Experience Faster startup, smaller footprint, no dependencies
Notice All charts represent data gathered by running particular applications in specific environments. Your mileage will vary.
Natively precompiled Java code runs directly on hardware right from the start. The absence of the warm-up cycle and JIT compilation overhead results in faster application startup and optimal code performance.
Excelsior JET is the only product that supports Java SE 8 Compact Profiles for desktop and server applications. Compact profiles enable you to omit parts of the Java SE standard library that are not used by your application, reducing its download size and disk footprint.
The run time memory footprint is also somewhat smaller because the Excelsior JET JVM is leaner compared to traditional implementations.
Finally, the applications precompiled with Excelsior JET do not require the JRE, and the included deployment tools help you package your optimized application together with the necessary runtime files into a naitve installer.
Who is Already Using It?
Featured Success Story
Pricing and Licensing
Excelsior JET is available in three editions. Licenses for each platform are sold separately; discounts apply to multiplatform bundles. The licenses are perpetual and come with one year of support and upgrades.
* Notice The Excelsior JET Runtime License prohibits deployment to embedded systems. If you are targeting devices with dedicated functionality, check out Excelsior JET Embedded.
You can test Excelsior JET thoroughly prior to purchase. Download Your 90-days Evaluation Copy Now
Microbusiness Licensing Program
MicroISVs, early stage startups, and other very small businesses employing just a few software engineers may purchase Excelsior JET at reduced prices.
We gladly provide Excelsior JET licenses at no cost to authors of free, non-commercial Java applications that meet a few simple qualification criteria.
Notice Only 64‑bit Professional and Enterprise Editions are available for OS X.
Generates 64-bit (x64) native executables
Protects plain Java SE and JavaFX applications from decompilers
These are just the major differences. Refer to the Feature Matrix for an exhaustive list.
You can test drive our support for up to 90 days. Just Download Your Evaluation Copy and fill in a short questionnaire.
New Knowledge Base articles:
HOWTO: Natively Compile a Spring Boot Application
HOWTO: Containerize a Natively Compiled Java Application Using Docker
Excelsior JET 10.0 Has Reached End of Life
Excelsior JET Maven Plugin First Release
HOWTO: Package Your Natively Compiled Java Application as An OS X Application Bundle (Updated KB Article)
New Case Study: MSSQLTracker (Tomcat Web App)
Experiencing a technical issue, or have a question to our engineers? Email them at the above address, or select Open Support Ticket from the Help menu.
+34 658 060641 (8am-4pm GMT)
Inquiries about pricing, licensing, payment methods, order status, product delivery, support renewals, etc.
All other issues.
Director of Marketing
+1 (408) 786 5641 skypein