使用lein-ring
插件,我尝试将configurator
函数传递给环形码头适配器。重现问题且受this SO answer启发的最小project.clj
是:
(defproject sample "0.1.0-SNAPSHOT"
:min-lein-version "2.0.0"
:dependencies [[org.clojure/clojure "1.6.0"]
[ring/ring-defaults "0.1.2"]]
:plugins [[lein-ring "0.9.7"]]
:ring {:handler sample.handler/app
:adapter {:configurator ~#(println (.getClass %))}}) ; whatever...
问题在于它失败并出现以下错误:
$ lein ring server-headless
Exception in thread "main" java.lang.RuntimeException: No reader function for tag object, ...
...
分别使用fn
表单或defn
声明功能不会影响结果。现在我意识到这可能与lein-ring
本身无关,但我只在:configurator
上重现了问题(例如,调用函数来设置项目描述工作正常)。
我想了解,为什么会发生这种情况(并首先了解错误消息本身),最后,在使用lein-ring
插件时如何实际传递配置函数。
谢谢!