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