Want to learn, explore or use Java instantly without setup ?
Do you like Java but use python, groovy, kotlin or similar languages for scripts, experimentation and exploration ?
Ever wanted to just be able to run java from anywhere without any or very minimal setup ?
Ever tried out Java 11+ support for running
.java files directly in your shell but felt it was a bit too cumbersome ?
jbang which lets you do this:
$ jbang init --template=cli hello.java
$ jbang hello.java Max!
[jbang] Resolving dependencies...
[jbang] Resolving info.picocli:picocli:4.5.0...Done
[jbang] Dependencies resolved
[jbang] Building jar...
$ jbang hello.java -h
Usage: hello [-hV] <greeting>
hello made with jbang
<greeting> The greeting to print
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Instant cli app generated built using java and picocli as a dependency that was fetched as needed for the compilation and execution.
JBang goes beyond more than just easy scripting; you can use
jbang to launch any kind of java application or library packaged as a jar available locally, via http/https download or in a Maven repository. You can even setup catalogs of scripts and publish them to github, gitlab or bitbucket - see AppStore for examples.
Full documentation at https://jbang.dev/documentation
jbang was heavily inspired by how
kscript by Holger Brand works.