我注意到(use 'somemodule :reload)
如果没有修改.clj文件,则不会重新加载模块。
但是,即使文件未更改,我也有一个用于强制重新加载模块的用例。我为clojure创建了一个haml宏,它读取外部文件并生成clojure代码。
(http://www.coldcode.net/2010/10/haml-macro-for-clojure.html)
因此,无论文件时间戳如何,我都希望能够重新加载clojure模块。
有人知道是否可能吗? (我想避免从编辑器外部触摸文件)
编辑:我使用clojure 1.2,leiningen 1.3.1
答案 0 :(得分:3)
:reload
将强制重新加载模块。
但听起来好像你使用AOT编译和clojure转向AOT编译的.class文件而不是源文件。如果你不需要AOT编译(在99%的情况下读取:gen-class
,其余的主机vm上没有动态字节代码)不使用它。如果确实需要 AOT编译,我只能考虑删除命名空间的.class文件。