title: Why `lein uberjar` evaluates variables defined with `def`?
body: <p>I'm trying to understand "Lieningen" behaviour when creating an <code>uberjar</code>. Following is the minimal example which reproduces the behaviour:</p>
  
  <pre><code>(ns my-stuff.core
    (:gen-class))
  
  (def some-var (throw (Exception. "boom!")))
  
  (defn -main [&amp; args]
    (println some-var))
  </code></pre>
  
  <p>When this is executed with <code>lein run</code> it clearly fails with an Exception. However, I don't understand why executing <code>lein uberjar</code> also fails with an Exception from variable definition? Why executing <code>lein uberjar</code> attempts to evaluate the variable value? Is this speecific to <code>uberjar</code> task or am I missing something more substantial about Clojure or Leiningen?</p>