Using the Java Packager with JDK 11

Update: jpackage is now Production-Ready

Installable Java Apps with jpackage


Santulator: The Application Being Packaged

Santulator in use

Beginning a Journey

What Are We Trying to Achieve?

The main application icon and the session file icon

The Tools for the Job

Installing the Java Packager

The Mystery of the Missing Windows DLLs

Missing MSVCP140.dll
Missing VCRUNTIME140.dll

Windows Inno Setup

Running the Java Packager

JPackager on the command line


Wrapping It All up with Gradle

./gradlew clean createBundle \
-PjavafxJmodsPath=/opt/javafx-jmods-11 \

Running Inno Setup on Windows

Inno Setup

Help, My Application Won’t Start!

./gradlew clean :gui:run

The Finished Product

The Santulator installer on the Mac
The Santulator installer on Windows
The Santulator installer on Linux

Rough Edges: Windows

The Windows installer, with a generic icon

Rough Edges: Mac

The Mac installer, with a generic icon

Rough Edges: Linux

The problem with the session icon on Linux
Linux Installer GUI on Ubuntu 18.04

What the Future Might Hold


What to Do If You Haven’t Upgraded to JDK 11 Yet

Final Thoughts



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store