---
title: Ahead of Time Compilation for JavaFX 2.0 applications
description: Ahead of Time Compilation for JavaFX 2.0 applications
---

[![e-Zest logo\_An accion lab company\_Colour](https://blog.e-zest.com/hubfs/images/Logos%20with%20Tagline/Corporate/SVG/e-Zest%20logo_An%20accion%20lab%20company_Colour.svg "e-Zest logo_An accion lab company_Colour")](https://www.e-zest.com/)

- [WORK](https://www.e-zest.com/our-work)
- [SERVICES](https://www.e-zest.com/our-services) 
    - [Product Engineering](https://www.e-zest.com/digital-product-engineering-services)
    - [Enterprise Data Services](https://www.e-zest.com/enterprise-data-services)
    - [Digital Commerce](https://www.e-zest.com/digital-commerce-services)
    - [Digital Operations](https://www.e-zest.com/digital-operations)
    - [Digital Consulting](https://www.e-zest.com/digital-transformation-consulting-services)
    - [Digital Experience Design](https://www.e-zest.com/digital-experience-design)
- [INSIGHTS](https://blog.e-zest.com/)
- [CAREERS](https://www.e-zest.com/careers)
- [ENTERPRISE DATA SERVICES](https://www.e-zest.com/enterprise-data-services)
- [GENERATIVE AI](https://www.e-zest.com/generative-ai)
- [Healthcare](https://healthcare.e-zest.com)
- [Contact Us](https://www.e-zest.com/contact-us)

- ![Elevating Product Engineering with AI and ML](https://blog.e-zest.com/hubfs/Elevating%20Product%20Engineering%20with%20AI%20and%20ML.jpg)

  [BLOGS](https://blog.e-zest.com)
  
  #### Elevating Product Engineering with AI and ML

  As technology evolves and customer choices broaden, there is an increasing ...

  [Read more](https://blog.e-zest.com/elevating-product-engineering-with-ai-and-ml)
- ![e-Zest – An Accion Labs Company gets Recognition as a Contender in the ISG Provider Lens™ Study on Digital Engineering Services 2024](https://blog.e-zest.com/hubfs/e-Zest%20%E2%80%93%20An%20Accion%20Labs%20Company%20-%20Gets%20Recognition%20as%20a%20Contender%20in%20the%20ISG%20Provider%20LensTM%20Study%20on%20Digital%20Engineering%20Services%202024.jpg)

  [NEWS](https://blog.e-zest.com/news)
  
  #### e-Zest – An Accion Labs Company gets Recognition as a Contender in the ISG Provider Lens™ Study on Digital Engineering Services 2024

  We are delighted to announce that e-Zest – An Accion Labs Company has been ...

  [Read more](https://blog.e-zest.com/news/e-zest-an-accion-labs-company-gets-recognition-as-a-contender-in-the-isg-provider-lens-study-on-digital-engineering-services-2024)
- ![e-Zest Solutions supports Digital Pune Mission](https://blog.e-zest.com/hubfs/blog-files/Digital%20Literacy%20Bus%20e-Zest.png)

  [CSR](https://blog.e-zest.com/csr)
  
  #### e-Zest Solutions supports Digital Pune Mission

  **Pune, India:** e-Zest Solutions, a leading digital technology innovation ...

  [Read more](https://blog.e-zest.com/csr/e-zest-solutions-supports-digital-pune-mission)

- [Work](https://www.e-zest.com/our-work)
- [Services](https://www.e-zest.com/our-services)
- [Insights](https://blog.e-zest.com)
- [Careers](https://www.e-zest.com/careers)
- [Enterprise Data](https://www.e-zest.com/enterprise-data-services)
- [Generative AI](https://www.e-zest.com/generative-ai)
- [Innovations](https://www.e-zest.com/innovations)
- [Healthcare](https://healthcare.e-zest.com)
- [About](https://www.e-zest.com/about-us)
- [Contact](https://www.e-zest.com/contact-us)

- [Blog](https://blog.e-zest.com/)
- [News](https://blog.e-zest.com/news)
- [CSR](https://blog.e-zest.com/csr)

- [![Linkedin Icon](https://blog.e-zest.com/hubfs/icons/linkedin_icon_white.svg)](https://www.linkedin.com/company/e-zest-solutions/)
- [![Twitter Icon](https://blog.e-zest.com/hubfs/twitter-logo-silhouette%20(5).svg)](https://twitter.com/ezest)
- [![Facebook Icon](https://blog.e-zest.com/hubfs/facebook-app-logo%20(4).svg)](https://www.facebook.com/61259256638)
- [![Instagram Icon](https://blog.e-zest.com/hubfs/instagram-logo%20(4).svg)](https://www.instagram.com/ezestsolutions/)
- [![Youtube Icon](https://blog.e-zest.com/hubfs/icons/youtube_icon_white.svg)](https://www.youtube.com/user/ezestcorporate)

[![Go to top icon](https://blog.e-zest.com/hubfs/AA%20Assets/top%20button.svg)](https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/#top)

Hit enter to search or ESC to close

Insights

e-Zest members share technology ideas to foster digital transformation.

- [Blog](https://blog.e-zest.com)
- [News](https://blog.e-zest.com/news)
- [Podcasts](https://www.e-zest.com/podcasts)
- [Healthcare](https://blog.e-zest.com/healthcare)
- [CSR](https://blog.e-zest.com/csr)
- [Whitepaper](https://blog.e-zest.com/whitepaper)
- [Playbook](https://blog.e-zest.com/playbook)
- [Media Kit](https://www.e-zest.com/media-kit)

# Ahead of Time Compilation for JavaFX 2.0 applications

[Nitin Gupta](https://blog.e-zest.com/author/nitin-gupta)  May 07, 2012

[javafx 2.0](https://blog.e-zest.com/topic/javafx-2-0) [AOT compilation](https://blog.e-zest.com/topic/aot-compilation) [Technology](https://blog.e-zest.com/topic/technology) [Time Compilation](https://blog.e-zest.com/topic/time-compilation)

- <https://www.linkedin.com/shareArticle?mini=true&url=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/&title=&summary=&source=>
- <https://twitter.com/intent/tweet?source=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/&text=Ahead%20of%20Time%20Compilation%20for%20JavaFX%202.0%20applications>
- <https://www.facebook.com/sharer/sharer.php?u=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/>
- <https://www.instagram.com/ezestsolutions/?u=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/>

We at e-Zest are working on [JavaFX](https://blog.e-zest.com/javafx/) 2.0 for more than a year and are amongst the few early adopters of the technology. Based on our experience with JavaFX we are evaluating it for a new project we recently received.

The project has the following two requirements for which we need to convert the application to native library using AOT compilation

1. The application needs to be deployed on Windows, Linux and Mac environments and will be distributed to non-technical users .The users should be able to install the application on a single click. They shouldn’t be required to install the Java and JavaFX runtimes.
2. The application code needs to be highly secured and users should not be able to view the source code using decompilers.

**Packaging JavaFX application as Native**

For the first requirement the application doesn’t really need AOT compilation. There are various paid and open source tools available which package the Java and JavaFX runtimes along with the application jars together into a native installer. The user can use the installer to install the application without having to worry about any other software.

We successfully created and tested the installer for a sample JavaFX application on Windows 7 using Install4j . Install4j claims to prepare a similar installer for Linux and Mac OS as well.

Install4j is a paid tool but there are various other open source tools available. More details can be used from the below JavaFX reference link

[http://fxexperience.com/2012/03/packaging-javafx-applications-as-native/](http://fxexperience.com/2012/03/packaging-javafx-applications-as-native/)

**Securing JavaFX code**:

We cannot use the above tools as Users can easily decompile the source code from the jars packaged with the installers. Although jar obfuscation provides difficulty in reading the source code but a determined hacker can still understand the source.

We evaluated the below tools which support AOT compilation:

**Excelsior Jet**:

Although Excelsior Jet claims to convert JavaFX 1.2 based applications to native code ([http://www.excelsior-usa.com/blog/tag/javafx/](http://www.excelsior-usa.com/blog/tag/javafx/)) it seems they currently don’t provide support for JavaFX 2.0 based applications.  
 At the time of writing this blog Excelsior Jet provides support for Java 6 update 26 whereas JavaFX 2.0 needs a higher version of Java.

The tool does convert the application to a native exe but fails to run the application as it’s unable to find the classes specific to higher version of Java. The tool claims to support Java 7 in 3Q of 2012.

**Aonix Perc ([http://www.atego.com/products/aonix-perc/](http://www.atego.com/products/aonix-perc/))**:

It was difficult to evaluate this tool as an evaluation copy of the tool was not directly available.

After having some conversation with their technical team they informed they currently don’t support JavaFX because it is a technology proprietary to Sun/Oracle (whereas the Java Specification is openly available to the public). While Oracle have announced their intention to also make JavaFX publicly available and part of OpenJDK (which would make it available for inclusion/implementation in PERC), this is not due to happen until at least OpenJDK/Java 8.

Based on the above evaluations we concluded that currently JavaFX 2.0 based applications cannot be converted to native code using AOT compilation.

**Dongle based Security**

We are currently evaluating using install4j for converting the application into native installer and using dongle based security solution provided by Safenet ([http://www.safenet-inc.com/data-protection](http://www.safenet-inc.com/data-protection)) for securing the jars. From our initial discussion they claim to secure the code packaged through their tool. I will provide details of our evaluations in my next blog.

- <https://twitter.com/intent/tweet?source=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/&text=Ahead%20of%20Time%20Compilation%20for%20JavaFX%202.0%20applications>
- <https://www.facebook.com/sharer/sharer.php?u=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/>
- <https://www.linkedin.com/shareArticle?mini=true&url=https://blog.e-zest.com/ahead-of-time-compilation-for-javafx-2-0-applications/&title=&summary=&source=>

### Similar Blog

[![Gradients In JavaFX](https://blog.e-zest.com/hs-fs/file-3395198484-png/blog-files/linear-gradient-1.png)](https://blog.e-zest.com/gradients-in-javafx-2/)

[Gradients In JavaFX](https://blog.e-zest.com/gradients-in-javafx-2/)

[One of the very interesting features of](https://blog.e-zest.com/gradients-in-javafx-2/)[JavaFX](https://blog.e-zest.com/javafx/) is its ability to have gradients (Linear or Radial) to the background color of the ...

By Sai Dandem Jul 19, 2012

[![Scroller control in JavaFX 2](https://blog.e-zest.com/hs-fs/file-3443237577-png/blog-files/scroller.png)](https://blog.e-zest.com/scroller-control-in-javafx-2/)

[Scroller control in JavaFX 2](https://blog.e-zest.com/scroller-control-in-javafx-2/)

<https://blog.e-zest.com/scroller-control-in-javafx-2/>[JavaFX 2.x](https://blog.e-zest.com/javafx/) has many fascinating and useful controls. Among them “TabPane” is also one of the control. Here I am not going in ...

By Sai Dandem Jun 13, 2012

<https://blog.e-zest.com/javafx-2-x-development-using-fxml/>

[JavaFX 2.x development using FXML](https://blog.e-zest.com/javafx-2-x-development-using-fxml/)

[This post simply explains, development of](https://blog.e-zest.com/javafx-2-x-development-using-fxml/)[JavaFX 2 application](https://blog.e-zest.com/javafx/) using FXML.

By Amol Hingmire May 23, 2012

[JavaFX 2.0 Resizing of UI Controls **Resizing of the Root** By Nitin Gupta Feb 15, 2012](https://blog.e-zest.com/javafx-20-resizing-of-ui-controls/)

[![Export Data from SQL Server to Azure Based Snowflake](https://blog.e-zest.com/hubfs/blog-files/Export%20data%20from%20SQL%20server%20to%20Azure%20based%20Snowflake-181220.png) Export Data from SQL Server to Azure Based Snowflake The data export process can broadly be divided into 2 steps: Step 1: Export the data from SQL Server to Azure BlobStep 2: Bulk ... By Nitin Gupta Dec 11, 2018](https://blog.e-zest.com/export-data-from-sql-server-to-azure-based-snowflake)

## [![REST Authentication using OAUTH 2.0 Resource Owner Password Flow protocol](https://blog.e-zest.com/hs-fs/file-3586009710-jpg/blog-files/resource-owner-password-flow.jpg) REST Authentication using OAUTH 2.0 Resource Owner Password Flow protocol Introduction In this blog we will look at how to perform authentication for an application exposing its functionalities as Rest ... By Nitin Gupta Oct 08, 2013](https://blog.e-zest.com/rest-authentication-using-oauth-2-0-resource-owner-password-flow-protocol/)

[JavaFX 2.0 Resizing of UI Controls **Resizing of the Root** By Nitin Gupta Feb 15, 2012](https://blog.e-zest.com/javafx-20-resizing-of-ui-controls/)

<https://blog.e-zest.com/osgi-in-practice-part-2-spring-dm-server-2/>

[OSGi in Practice - Part 2 (Spring DM Server )](https://blog.e-zest.com/osgi-in-practice-part-2-spring-dm-server-2/)

[This Blog is in continuation of my](https://blog.e-zest.com/osgi-in-practice-part-2-spring-dm-server-2/)[first blog on OSGi](https://blog.e-zest.com/Blog/post/OSGi-Java-architects-musings-practice-part1.aspx).

By Nitin Gupta Sep 20, 2010

## Helping Organizations Thrive in the Digital Age

[Contact Us](https://www.e-zest.com/contact-us)

- [About](https://www.e-zest.com/about-us)
- [Services](https://www.e-zest.com/our-services)
- [Work](https://www.e-zest.com/our-work)
- [Insights](https://blog.e-zest.com/)
- [Healthcare](https://healthcare.e-zest.com/)
- [Accion Labs](https://www.accionlabs.com/)

- <https://www.linkedin.com/company/e-zest-solutions/>
- <https://twitter.com/ezest>
- <https://www.facebook.com/eZest/>
- <https://www.instagram.com/ezestsolutions/>
- <https://www.youtube.com/user/ezestcorporate>

- Dallas
- Detroit
- Hannover
- Vienna
- London
- Pune

 © 2025 e-Zest Solutions

- [Privacy Policy](https://www.e-zest.com/privacypolicy)
- [Cookie Policy](https://www.e-zest.com/cookie-policy)

 Contact us

 Contact us

e-Zest is a leading digital innovation partner for enterprises and technology companies that utilizes emerging technologies for creating engaging customers experiences. Being a customer-focused and technology-driven company, it always helps clients in crafting holistic business value for their software development efforts. It offers software development and consulting services for cloud computing, enterprise mobility, big data and analytics, user experience and digital commerce.