History
deployj started as a Java JAR scanning tool that would find major minor versions and compatibility issues. It has since expanded into a JAR packaging tool that will create standalone executable
versions of your Java JAR app. We can currently create Linux x64, Linux x64 ARM CPU and Windows x64 versions.
Docker was used previously to deploy Java apps but it was quite bloaty - a small Java app would be around 300MB. So a lot of work was done to trim this down and a deployj app is around 200MB - a 33% reduction with the downloaded compressed version at around 60MB.
Build Process
The download produced is a streamlined and lightweight standalone version of your app. No need to rely on a JDK installed on a system. Just download (chmod 701 if on Linux) and run it.
The app and runtime will unpack and execute. We use the latest LTS Open JDK (currently JDK 23).
How to Run
- You will need a Main-Class header that points to the main class of the app in the META-INF/MANIFEST.MF.
- JVM system flags should be starting with - and command line args should not start with a -
Example for Linux command line usage:
- chmod 701 myapp.sh
- ./myapp.sh -Xmx1G arg1 arg2
Example for Windows command line usage:
- myapp.cmd -Xmx1G arg1 arg2