【发布时间】:2012-06-10 18:48:12
【问题描述】:
如果我在 Leiningen(第 2 版)中打开 :warn-on-reflection,我不仅会收到当前项目的警告,还会收到依赖项的警告。 (并且,例如,即使我调用“lein help”,它也会例如警告 clucy 中的反射 - leiningen 本身的依赖项。)
由于这些项目超出了我当前的范围,我希望能够将警告限制在当前项目中。这可能吗?如何实现?
【问题讨论】:
如果我在 Leiningen(第 2 版)中打开 :warn-on-reflection,我不仅会收到当前项目的警告,还会收到依赖项的警告。 (并且,例如,即使我调用“lein help”,它也会例如警告 clucy 中的反射 - leiningen 本身的依赖项。)
由于这些项目超出了我当前的范围,我希望能够将警告限制在当前项目中。这可能吗?如何实现?
【问题讨论】:
你可以简单地添加
(set! *warn-on-reflection* true)
在“主”.clj 文件的顶部。在use 和require 语句之后用于外部代码,但在require 和/或load 语句用于您自己的代码之前。
【讨论】:
ns 表单之前?还是之后?
ns 拆分为真实的ns 用于外部内容,然后是set!,然后是一堆require 和use 调用内部内容。跨度>
Clojure 命名空间编译是可传递的。见:Transitive AOT Compilation
解决方法、结帐 clucy 和:
→ lein compile :all
→ lein install
所以 Clojure 编译器将跳过 clucy 的编译,因为类文件已经存在。
【讨论】: