Distribute a Java, Clojure, Kotlin, Scala, or Groovy app as one binary with no Java install required.
Avoid GraalVM native-image's slow builds and reflection configuration for JVM apps that use complex libraries.
Preview a build plan with a dry run before producing the final binary.
| avelino/jbundle | pi-hole/api | manyougz/velotype | |
|---|---|---|---|
| Stars | 175 | 170 | 191 |
| Language | Rust | Rust | Rust |
| Last pushed | — | 2020-03-01 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 3/5 | 2/5 |
| Audience | developer | developer | writer |
Figures from each repo's GitHub metadata at analysis time.
jbundle is a tool that packages Java-based applications into a single executable file that can run on any machine without Java being installed. It works with any language that runs on the Java Virtual Machine, including Clojure, Kotlin, Scala, and Groovy, not just Java itself. The typical problem it solves is distribution. If you build an application in one of these languages, the person running it normally needs Java installed on their computer. jbundle avoids this by bundling a minimal Java runtime directly into the output file, so the result is one self-contained binary with no external dependencies. The README positions this as a simpler alternative to GraalVM native-image, which is another tool that produces standalone binaries from Java applications. GraalVM native-image has a slow compilation process, requires complex configuration for certain code patterns, and does not work with all libraries. jbundle takes a different approach: it bundles a full (but minimal) Java runtime rather than compiling everything to native code, which means full compatibility with existing Java libraries at the cost of a larger output file. Installation is available via a shell script, Homebrew on macOS and Linux, or a Windows PowerShell script. The basic usage is to point the tool at your compiled application and specify an output path. A dry-run flag lets you preview what will happen before building. Full documentation is available at an external documentation site.
A tool that packages Java-based apps into a single self-contained binary that runs without Java installed on the target machine.
Mainly Rust. The stack also includes Rust, JVM, Homebrew.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.