# Zulu Desktop Builds

DevFeed: [Zulu Desktop Builds](<https://devfeed.tech/articles/zulu-desktop-builds-19687.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/zulu-desktop-builds/>)

Author: Shai Almog

Published: 2019-04-10T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaFX](<https://devfeed.tech/topics/javafx.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [deployment](<https://devfeed.tech/tags/deployment.md>), [java](<https://devfeed.tech/tags/java.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [windows](<https://devfeed.tech/tags/windows.md>)

## AI overview

The article explains changes to Codename One's Java desktop deployment process. Because ZuluFX packaging produced oversized applications and was unreliable on Windows and macOS, the project is moving to manually generated installers using third-party tools. The new build approach is experimental, and compilation may still fail while issues are resolved.

## Source excerpt

Sometimes you pick up a task and know in advance it's going to be hell to implement it. Sometimes, the hell you were expecting turns out to be WAY worse than you anticipated. This is the case for modern Java desktop deployment. Amazingly, Java was able to take one of the worse deployment processes possible and make it MUCH worse than before. If you haven't used the Codename One desktop port I'll sum it up to you. We use javapackager (formerly javafxpackager) to essentially wrap the jar file as a DMG/pkg on Mac OS and as an EXE/MSI on Windows. This "worked" in the broad sense of the word. It had a lot of issues and we had to create a lot of workarounds.