- Rust 57.6%
- Python 13.9%
- Markdown 11.9%
- Shell 8.2%
- Java 3.2%
- PowerShell 2.2%
- Yaml 2%
- INI 0.8%
- JSON 0.2%
A Minimized Java Service Wrapper
Run Java applications as native services on macOS, Windows, and Linux.
Originally created for OneDev, a development platform with Git hosting, issue tracking, and CI/CD, Service Wrapper is now a standalone project that other Java applications can use too.
Inspired by Java Service Wrapper (JSW), this project borrows some JSW configuration conventions. Its native supervisor is a clean room rewrite in Rust, with a small Java bridge.
The focus is minimal service integration: installation, startup, graceful shutdown, log rotation, and application-requested restarts. Advanced JSW features such as automatic crash recovery, JVM monitoring, and event or scheduled actions are outside its scope.
Requires Java 17+. Supports macOS arm64 and Windows/Linux amd64 and arm64.
On systemd, systemctl start waits for the JVM bridge to connect and reports a
failed start if the launcher cannot execute or the JVM fails before that point.
This confirms JVM startup, not application readiness. Detailed errors are in
systemctl status and journalctl -u <service>; the launcher's start command
also prints captured startup errors. Existing systemd services must be removed
and installed again to update their unit to Type=notify.
Download · Wiki · MIT license