Skip to main content

JavaPackager

JavaPackager is a hybrid plugin for Maven and Gradle that packages Java applications as native Windows, macOS and GNU/Linux executables, and generates installers for them.

With a single plugin and a few lines of configuration you get:

  • A native app folder with an executable launcher, your JAR and its dependencies, and optionally a bundled JRE.
  • A customized JRE built with jdeps and jlink, containing only the modules your app needs.
  • Installers and packages: Inno Setup EXE, MSI and MSM on Windows; DMG and PKG on macOS; DEB, RPM and AppImage on GNU/Linux.
  • Zipballs and tarballs of the app folder.
  • Code signing of Windows executables and installers, and code signing and notarization of macOS apps.

Why JavaPackager​

It was born while teaching students how to build and distribute their Java apps: a chain of several plugins was needed to do it, so JavaPackager became a plugin to rule them all. The same configuration works with Maven and Gradle, and the same project can be packaged for every platform.

Where to start​

Apps packaged with JavaPackager​

AppDescriptionStars
WePushBulk message sender: WeChat templates, SMS, email and moreGitHub stars
MooToolHandy tool set for developersGitHub stars
bilibili-backupBackup and restore of Bilibili accountsGitHub stars
RedisFXLightweight Redis GUI client (JavaFX)GitHub stars
RedisFrontCross-platform Redis client (Swing)GitHub stars
MooInfoSystem and hardware information viewerGitHub stars
Monitee agentServer monitoring API and backend for MoniteeGitHub stars
MQTT InsightMQTT GUI clientGitHub stars
VisionBenchDevelop, test and tune EasyOpenCV pipelines on your computerGitHub stars
windows-processWindows process managerGitHub stars
Java Geometry ExpertAutomated geometry theorem provingGitHub stars
RawkyPixel art editorGitHub stars
RODA-inCreates submission information packages for digital preservationGitHub stars
BreakoutInteractive 3D cave survey viewerGitHub stars
GistFXGitHub Gist managerGitHub stars
Astro Pixel ProcessorAstrophotography image processing—
Spektar Design LabVisual design of VST audio effects and instruments—

Is your app packaged with JavaPackager? Tell us and we'll add it to the list.

Help wanted​

JavaPackager is maintained by volunteers in their spare time. If you'd like to help with issues, reviews or documentation, join the discussion.