【发布时间】:2016-02-12 11:09:18
【问题描述】:
我在命名空间 mwm 中定义了自己的 defn。
我的新代码如下所示
(mwm/defn foo [x] ...)
只要它被称为 defn2 一切都很好,但是在将其重命名为 defn 并使用 clojure.core/defn 引用原始 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找到
【问题讨论】: