deps.edn, Aliases and Dependencies
Versions above are illustrative; check Clojars/Maven Central for the latest. Clojars is Clojure's main library repository.
Leiningen equivalent: project.clj with :dependencies, :profiles, and lein run, lein test, lein uberjar.
;; deps.edn
{:paths ["src" "resources"]
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
metosin/reitit {:mvn/version "0.7.2"}
com.github.seancorfield/next.jdbc {:mvn/version "1.3.939"}
io.github.yourorg/lib {:git/tag "v1.0.0" :git/sha "abc1234"} ; git dependency
local/utils {:local/root "../utils"}} ; local dependency
:aliases
{:dev {:extra-paths ["dev"]
:extra-deps {djblue/portal {:mvn/version "0.57.3"}}}
:test {:extra-paths ["test"]
:extra-deps {io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"}}
:main-opts ["-m" "cognitect.test-runner"]
:exec-fn cognitect.test-runner.api/test}
:run {:main-opts ["-m" "myapp.core"]}
:build {:deps {io.github.clojure/tools.build {:git/tag "v0.10.5" :git/sha "2a21b7a"}}
:ns-default build}}}clj -M:dev # REPL with the dev alias
clj -M:run arg1 # run -main
clj -X:test # run tests via -X (exec-fn)
clj -T:build uber # run a build task
clj -Stree # show the dependency tree
clj -X:deps find-versions :lib clojure.java-time/clojure.java-time