sábado, 14 de novembro de 2020

Creating Fat JARs for JavaFX Applications

A FAT JAR is a type of Java application distribution where a single JAR contains all other dependencies, so no additional file is required to run the JAR besides the Java Virtual Machine.

For any Java maven based application, creating a FAR JAR could be solved by using Maven Shade Plugin. However, creating FAT Jars using JavaFX may be a challenge because JavaFX uses modules.

Fortunately this subject was intensely discussed in the WEB, and a good explanation and a solution was provided by Jose Pereda in this StackOverflow response.

In this post I want to briefly share the steps to make a FAT JAR and post an example on my github so I can point others to check the example.


How to create a FAT JAR for a JavaFX application?

1- Create a main class that will run your application. This class must have the main method and call your actual application static launch method;

2- Add the Shade Plugin to your project. For those using Gradle notice that Jose Pereda also provided an answer about it in Stack Overflow;

3- In the shade plugin configuration make sure you are setting the Main class to be the one created in step 1.


That's basically all you need. If i is not clear you can check my sample project in github. The three files, App.java, Main.java and pom.xml can be checked below.


Nenhum comentário:

Postar um comentário