Я определил свое собственное определение в пространстве имен 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