/jbang

Unleash the power of Java for shell scripting

Primary LanguageJavaMIT LicenseMIT

jbang - Unleash the power of Java

Release Downloads Build Status Che Gitpod Gitter Gitter

JBang Logo

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:

4AiobRxUwPUPztCtrDYcmoKjs

$ 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.

AppStore

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.

Documentation

Full documentation at https://jbang.dev/documentation. For a project architecture overview refer to build, module, dependency and other diagrams.

Thanks

jbang was heavily inspired by how kscript by Holger Brand works.