jbang-run - Builds and runs provided script.


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


Builds and runs provided script.



Path to catalog file to be used instead of the default


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


Path to config file to be used instead of the default

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

Add class path entries.

-d, --debug[=<debugString>]

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

-D, <String=String>

set a system property


Add additional dependencies (Use commas to separate them).

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


A Java runtime option


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.


Add additional repositories.


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