jbang-run - Builds and runs provided script.


jbang run -o [-hnV] [--[no-]cds] [--ea] [--esa] [--fresh] [--insecure] [--interactive] [--jsh] --quiet --verbose [-r [=<flightRecorderString>]] [-d=<debugString>] [-j=<javaVersion>] [-m=<main>] [--cp=<classpaths>]…​ [-D=<String=String>]…​ [--deps=<dependencies>]…​ [--javaagent=<String=Optional>]…​ <scriptOrFile> [<userParams>…​]


Builds and runs provided script.



If specified Class Data Sharing (CDS) will be used for building and running (requires Java 13+)

--cp, --class-path=<classpaths>

Add class path entries.

-d, --debug=<debugString>

Launch with java debug enabled on specified port (default: 4004)

-D, <String=String>

set a system property


Add additional dependencies.

--ea, --enableassertions

Enable assertions

--esa, --enablesystemassertions

Enable system assertions


Make sure we use fresh (i.e. non-cached) resources.

-h, --help

Display help/info. Use 'jbang <command> -h' for detailed usage.


Enable insecure trust of all SSL certificates.


activate interactive mode

-j, --java=<javaVersion>

JDK version to use for running the script.


Force input to be interpreted with jsh/jshell

-m, --main=<main>

Main class to use when running. Used primarily for running jar’s.

-n, --native

Build using native-image

-o, --offline

Work offline. Fail-fast if dependencies are missing. No connections will be attempted


jbang will be quiet, only print when error occurs.

-r, --jfr[=<flightRecorderString>]

Launch with Java Flight Recorder enabled.

-V, --version

Display version info (use jbang --verbose version for more details)


jbang will be verbose on what it does.



A file with java code or if named .jsh will be run with jshell


Parameters to pass on to the script