Дефинирах моя собствена defn в пространството от имена mwm.
Новият ми код изглежда така
(mwm/defn foo [x] ...)
Всичко беше наред, докато се наричаше defn2, но след преименуването му на defn и препращане към оригиналния defn с помощта на clojure.core/defn, само "lein uberjar" работи.
Когато стартирам "lein run", компилацията се проваля като
c:\data3\clojure\cdn77-purge>lein run
WARNING: defn already refers to: #'clojure.core/defn in namespace: mw.mwm, being
replaced by: #'mw.mwm/defn
Exception in thread "main" java.lang.ClassNotFoundException: mw.mw1, compiling:(
mw/mw1.clj:40:1)
at clojure.lang.Compiler.analyze(Compiler.java:6543)
at clojure.lang.Compiler.analyze(Compiler.java:6485)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3791)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6725)
Кодът може да бъде намерен на https://github.com/mattiasw2/cdn77-purge/tree/renamed_to_defn