принудительное закрытие: перезагрузка - PullRequest
1 голос
/ 11 октября 2010

Я заметил, что (use 'somemodule :reload) не перезагружает модуль, если файл .clj не был изменен.

Однако у меня есть сценарий принудительной перезагрузки модуля, даже если файл не был изменен,Я создал макрос haml для clojure, который читает внешний файл и генерирует код clojure.

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

Поэтому я хотел бы иметь возможность перезагрузить модуль clojure независимо от того,метки времени файла.

Кто-нибудь знает, возможно ли это?(Я бы хотел не трогать файл снаружи моего редактора)

РЕДАКТИРОВАТЬ: я использую clojure 1.2, leiningen 1.3.1

1 Ответ

3 голосов
/ 11 октября 2010

:reload будет принудительно перезагружать модуль.

Но звучит так, как будто вы используете компиляцию AOT, и clojure прибегает к скомпилированным файлам AOT .class вместо исходного кода. Если вам не нужна компиляция AOT (читай: gen-class в 99% случаев, в остальных случаях нет динамического байт-кода gen на хосте vm), не используйте его. Если вам действительно нужна компиляция AOT, я могу думать только об удалении файлов .class для пространства имен.

...