PROGRAMMING // MACOS // JAVA

jpackage Building and Deploying a Java Application on MacOS

Or… How to get all of the pieces together for distribution through a website for an Apple Mac Application

synapticloop
11 min readNov 23, 2023

--

Java, JavaFX, jlink, jpackage, codesign, notarytool — so many commands, and how to put it all together so that you can provide a downloadable disk image (.dmg) from a website.

The code for this project (with the updated splashscreen, application icons and disk image icons can be found here: https://github.com/synapticloop/HelloJavaFXWorld)

Photo by Sumudu Mohottige on Unsplash with edits

The Dreaded Error Messages

With the ever-improving security of MacOS, checks on downloaded and runnable software have become more pervasive. Trying to build and distribute an application outside of the Apple App Store has its own challenges.

I will run you through the process of how to get this all sorted so that you aren’t going to see the following error messages.

In the first image, the Application hasn’t been signed, in the second image the Application hasn’t been notarised.

This is not really about how to code in Java, JavaFX, or how to use the IntelliJ CE IDE…

--

--