clj, clojure - runners to launch Clojure programs
clj [clj-opts] [-Aaliases] [init-opts]
clojure [clj-opts] -X[aliases] my/fn?
[kpath v ...] kv-map?
clojure [clj-opts] -T[name|aliases] my/fn
[kpath v ...] kv-map?
clojure [clj-opts] -M[aliases] [init-opts]
[main-opts] [args]
The clojure tool is a runner for Clojure programs. clj is a
wrapper for clojure that uses rlwrap to provide a better interactive
experience. Users will typically run clj.
You can launch a Clojure REPL by running clj.
See the Deps and CLI Guide below for more complex usage.
The clj and clojure scripts can take three types of options, as
shown in the synopsis. clj-opts are used to build the java-opts and
classpath. init-opts refer to Clojure code to execute. main-opts
are options to clojure.main.
- -Jopt
- Pass opt through in java_opts, ex: -J-Xmx512m
- -Aaliases
- Concatenated aliases for REPL execution, ex: -A:dev:mem
- -Xaliases fn KPATH
V
- Exec alias to invoke one or more functions that take a map, with
keypath/value overrides. Function must either be supplied or be in
:exec-fn argmap for alias
- -Maliases
- Exec clojure.main, either from opts in alias or command line
- -P
- Prepare - download libs, cache classpath without executing
- -Sdeps EDN
- Deps data to use as the last deps file to be merged
- -Spath
- Compute classpath and echo to stdout only
- -Scp CP
- Do NOT compute or cache classpath, use this one instead
- -Srepro
- Ignore the ~/.clojure/deps.edn config file
- -Sforce
- Force recomputation of the classpath (don't use the cache)
- -Sverbose
- Print important path info to console
- -Sdescribe
- Print environment and command parsing info as data
- -Sthreads N
- Set specific number of download threads
- -Strace
- Write a trace.edn file that traces deps expansion
- --
- Stop parsing dep options and pass remaining arguments to clojure.main
- --version
- Write version to stdout and exit
- -version
- Write version to stderr and exit
- -i, --init path
- Load a file or resource located at path
- -e, --eval string
- Eval exprs in string; print non-nil values
- --report target
- Report uncaught exception to target: "file" (default),
"stderr", or "none", overrides System property
clojure.main.report
- -m, --main ns-name
- Call the -main function from namespace w/args
- -r, --repl
- Run a repl
- path
- Run a script from a file or resource located at path
- -
- Run a script from standard input
- -h, -?, --help
- Print this help message and exit
This script reads configuration from deps.edn files. It will check
against deps.edn files in the system root location, the user
configuration directory (usually ~/.clojure), and the local directory.
Files in each of these locations, if they exist, are merged to form one
combined configuration file. The last specified configuration file's options
overwrites any earlier files (e.g. local configs take priority).
- https://clojure.org/guides/deps_and_cli
- Deps and CLI Guide
- https://clojure.org/reference/deps_and_cli
- Deps and CLI Reference
- https://clojure.org/reference/repl_and_main
- REPL and Main Entrypoints
- https://github.com/clojure/brew-install/blob/1.10.3/CHANGELOG.md
- Changelog for scripts
- https://github.com/clojure/tools.deps.alpha/blob/master/CHANGELOG.md
- Changelog for tools.deps library
File issues at https://ask.clojure.org under category Libs / tools.deps.alpha.
clojure and clj are maintained by Alex Miller <alex.miller@cognitect.com>.
This man page was written by Elana Hashman <ehashman@debian.org>.
Copyright © 2018-2020 Rich Hickey, Alex Miller and contributors.
Distributed under the Eclipse Public License 1.0, the same as
Clojure.