Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. libGDX
  3. Packr

Packr

Apache-2.0C++4.0.0

Packages Java applications (JAR, assets, and a JVM) into native executables for Windows, Linux, and macOS distribution.

GitHubGitHub
2.6k stars174 forks0 contributors

What is Packr?

Packr is a packaging tool that bundles Java applications—including JAR files, assets, and a Java Runtime Environment (JRE)—into native executables for Windows, Linux, and macOS. It solves the problem of distributing Java apps by making them appear and launch like native applications, eliminating the need for end-users to install Java separately. This is particularly valuable for GUI applications like games, where a seamless user experience is critical.

Target Audience

Java developers building desktop applications, especially game developers using frameworks like libGDX, who need to distribute their software as user-friendly, native-like packages across multiple operating systems.

Value Proposition

Developers choose Packr for its simplicity, cross-platform support, and ability to create self-contained executables that reduce user friction. Unlike some alternatives, it offers fine-grained control over JRE minimization and supports modern JVM features like the Z Garbage Collector, making it a lightweight and flexible solution for Java app distribution.

Overview

Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X

Use Cases

Best For

  • Packaging libGDX games for distribution on desktop platforms
  • Creating native executables for Java-based GUI applications
  • Reducing Java application bundle size via JRE minimization
  • Distributing Java apps to users without a pre-installed JVM
  • Cross-platform deployment of desktop software from a single codebase
  • Bundling Java 14+ applications with Z Garbage Collector support

Not Ideal For

  • Projects requiring automated notarization and code signing for macOS distribution
  • Teams using Java 11+ who want integrated JRE minimization via jlink instead of custom profiles
  • Applications needing self-updating packages or cross-building from a single operating system

Pros & Cons

Pros

Native Executable Simplicity

Generates platform-specific launchers (.exe, binary, .app) that hide JVM startup, making Java apps appear native without user intervention, as shown in the usage examples.

JRE Bundling Control

Allows bundling a JRE with minimization profiles to reduce size, and supports removing non-matching native libraries from JARs, giving developers fine-grained control over distribution size.

Cross-Platform Support

Targets Windows, Linux, and macOS with a single configuration, enabling consistent packaging for desktop applications across major operating systems.

Modern JVM Integration

Supports Java 14+ and the Z Garbage Collector for low-pause GC, with automatic OS detection via --useZgcIfSupportedOs, enhancing performance for GUI apps.

Cons

Limited JRE Minimization

JRE minimization is conservative and only effective for Java 8 or lower; for Java 11+, the README recommends using jlink instead, adding complexity for modern projects.

Manual Platform-Specific Work

Requires manual steps for setting icons on Windows and Linux, and for macOS notarization and signing, which can be time-consuming and error-prone.

Testing and Compatibility Gaps

Only Adopt OpenJDKs 8, 11, and 15 are tested, and features like cross-building or advanced security are not built-in, relying on external tools or manual intervention.

Frequently Asked Questions

Quick Stats

Stars2,623
Forks174
Contributors0
Open Issues31
Last commit2 years ago
CreatedSince 2014

Tags

#native-executable#desktop-apps#game-development#deployment-tool#cross-platform#java-packaging#libgdx

Built With

J
Java
G
Gradle
C
C++

Included in

libGDX1.2k
Auto-fetched 8 hours ago

Related Projects

gdx-liftoffgdx-liftoff

A modern setup tool for libGDX Gradle projects

Stars683
Forks70
Last commit3 days ago
libgdx-library-templatelibgdx-library-template

A template for libraries that work with libGDX and Gradle 9.x (or 8.x/7.x)

Stars14
Forks2
Last commit19 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub