Scroll to navigation

CLOJURE(1) General Commands Manual CLOJURE(1)

NAME

clj, clojure - runners to launch Clojure programs

SYNOPSIS

clj [clj-opts] [-Aaliases]
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]

DESCRIPTION

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.

EXAMPLES

You can launch a Clojure REPL by running clj.

See the Deps and CLI Guide below for more complex usage.

OPTIONS

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.

clj-opts

Pass opt through in java_opts, ex: -J-Xmx512m

Concatenated aliases for REPL execution, ex: -A:dev:mem

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

Exec clojure.main, either from opts in alias or command line

Prepare - download libs, cache classpath without executing

Deps data to use as the last deps file to be merged

Compute classpath and echo to stdout only

Print dependency tree

Do NOT compute or cache classpath, use this one instead

Ignore the ~/.clojure/deps.edn config file

Force recomputation of the classpath (don't use the cache)

Print important path info to console

Print environment and command parsing info as data

Set specific number of download threads

Write a trace.edn file that traces deps expansion

--
Stop parsing dep options and pass remaining arguments to clojure.main

Write version to stdout and exit

Write version to stderr and exit

init-opts

Load a file or resource located at path

Eval exprs in string; print non-nil values

Report uncaught exception to target: "file" (default), "stderr", or "none", overrides System property clojure.main.report

main-opts

Call the -main function from namespace w/args

Run a repl

Run a script from a file or resource located at path

-
Run a script from standard input

Print this help message and exit

CONFIGURATION

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

SEE ALSO

https://clojure.org/guides/deps_and_cli
Deps and CLI Guide
https://clojure.org/reference/deps_edn
deps.edn Reference
https://clojure.org/reference/clojure_cli
Clojure CLI Reference
https://clojure.org/reference/repl_and_main
REPL and Main Entrypoints
https://clojure.org/releases/tools
Release history and changelog

BUGS

File issues at https://ask.clojure.org under category Libs / tools.deps.

AUTHORS

clojure and clj are maintained by Alex Miller <alex.miller@cognitect.com>. This man page was written by Elana Hashman <ehashman@debian.org>.

COPYRIGHT

Copyright © Rich Hickey, Alex Miller and contributors.

Distributed under the Eclipse Public License 1.0, the same as Clojure.

2019 June 6