github上已经有这样的插件。
https://github.com/pyronicide/lein-autoreload
这个插件其实是调用clojure.tools.namespace.repl
来刷新的。
问题是当reload失败时只提示一个错误:error-while-loading "XXX.XXX"
,但没有任何错误信息。
使用clojure.tools.namespace.repl
手动刷新时会打印错误堆栈。
然而仍然没什么用。
异常为编译错误。error message:namespace "XXX.XXX" not found
多次尝试原因是:需要对每个clj文件按重新保存一次(command/ctrl+s),插件才能正常autoreload。