anchor.diff:    :bench {:extra-deps {criterium/criterium {:mvn/version "0.4.4"}}}}}
   ----
   
  -Activate both aliases as follows: `clj -R:bench:old-async`.
  +Activate both aliases as follows: `clj -A:bench:old-async`.
   
   [[local_jar]]
   === Include a local jar on disk
  
positive.code: [source,clojure]
  ----
  (ns hello
    (:require [clj-time.core :as t]
              [clj-time.format :as f]))
  
  (defn time-str
    "Returns a string representation of a datetime in the local time zone."
    [dt]
    (f/unparse
      (f/with-zone (f/formatter "hh:mm aa") (t/default-time-zone))
      dt))
  
  (defn -main []
    (println "Hello world, the time is" (time-str (t/now))))
  ----
  
  
  
  This program has a static entry point named `-main` that is suitable for external invocation. The `clj` tool acts as a Clojure program launcher with the `-m` option, which specifies the namespace to run:
  
  [source,shell]
  ----
  $ clj -m hello
  Hello world, the time is 02:04 PM
  ----
  
  == Using local libraries
  
  You might decide to move part of this application into a library. The `clj` tool uses local coordinates to support projects that exist only on your local disk. Let's extract the clj-time parts of this application out into a library in a parallel directory time-lib. The final structure will look something like this:
  
  ----
  ├── time-lib
  
negative.code:  {:test {:extra-paths ["test"]}}}
  ----
  
  Apply that classpath modification and examine the modified classpath by invoking `clj -A:test -Spath`:
  
  [source,shell]
  ----
  $ clj -A:test -Spath
  src:
  test:
  /Users/me/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:
  