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 ?
Then try 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.6.3...Done [jbang] Dependencies resolved [jbang] Building jar... Hello Max! $ 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. For a project architecture overview refer to build, module, dependency and other diagrams.
jbang
was heavily inspired by how kscript
by Holger Brand works.