2010-10-10 60 views
1

我注意到(use 'somemodule :reload)不会重新加载模块,如果.clj文件未被修改。force clojure:reload

但是,我有一个用于强制重新加载模块的用例,即使该文件没有更改。我为clojure创建了一个haml宏,它读取一个外部文件并生成clojure代码。

http://www.coldcode.net/2010/10/haml-macro-for-clojure.html

我想从而能够重新加载的Clojure模块而不考虑文件时间戳。

有人知道是否有可能吗? (我想避免从我的编辑之外触摸文件)

编辑:我使用的Clojure 1.2,leiningen模块1.3.1

回答

3

:reload力重装。

但它听起来好像您使用AOT编译和clojure度假胜地到AOT编译.class文件而不是源。如果你不需要AOT编译(在99%的情况下阅读:gen-class,其余的主机虚拟机上没有动态字节代码)不使用它。如果你真的需要 AOT编译,我只能想到删除命名空间的.class文件。

+0

是的,其实我找到了。莱宁宁正在吃编译器错误。我不得不写一些东西(比如“1”),然后回车看看它们。这让我困惑 – ithkuil 2010-10-11 12:03:31

+0

听起来就像你在1.3.1中遇到了一个repl错误。它在1.4.0-SNAPSHOT中得到修复,在一两个星期内应该会达到稳定版本。 – technomancy 2010-10-12 04:33:21

+0

啊太好了,我会试试1.4.0-SNAPSHOT – ithkuil 2010-10-12 21:40:23