Ich versuche zu verstehen, "Lieningen" Verhalten bei der Erstellung eines uberjar
. Im Anschluss ist das minimale Beispiel, die das Verhalten reproduziert:Warum `lein uberjar` Variablen bewertet, die mit` def` definiert sind?
(ns my-stuff.core
(:gen-class))
(def some-var (throw (Exception. "boom!")))
(defn -main [& args]
(println some-var))
Wenn diese mit lein run
ausgeführt wird mit einer Ausnahme deutlich ausfällt. Ich verstehe jedoch nicht, warum die Ausführung von lein uberjar
auch mit einer Ausnahme von der Variablendefinition fehlschlägt? Warum versucht lein uberjar
versucht, den Variablenwert auszuwerten? Ist dies spezifisch für uberjar
Aufgabe oder fehle ich etwas wesentlicher über Clojure oder Leiningen?