【问题标题】:Leiningen, :warn-on-reflection. Wanted for current project onlyLeiningen, :warn-on-reflection。仅适用于当前项目
【发布时间】:2012-06-10 18:48:12
【问题描述】:

如果我在 Leiningen(第 2 版)中打开 :warn-on-reflection,我不仅会收到当前项目的警告,还会收到依赖项的警告。 (并且,例如,即使我调用“lein help”,它也会例如警告 clucy 中的反射 - leiningen 本身的依赖项。)

由于这些项目超出了我当前的范围,我希望能够将警告限制在当前项目中。这可能吗?如何实现?

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    你可以简单地添加

    (set! *warn-on-reflection* true)
    

    在“主”.clj 文件的顶部。在userequire 语句之后用于外部代码,但在require 和/或load 语句用于您自己的代码之前。

    【讨论】:

    • 这在实践中很棘手,对吧?你把它放在ns 表单之前?还是之后?
    • @DavidJames 不幸的是,它需要将ns 拆分为真实的ns 用于外部内容,然后是set!,然后是一堆requireuse 调用内部内容。跨度>
    【解决方案2】:

    Clojure 命名空间编译是可传递的。见:Transitive AOT Compilation

    解决方法、结帐 clucy 和:

    → lein compile :all
    → lein install
    

    所以 Clojure 编译器将跳过 clucy 的编译,因为类文件已经存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      相关资源
      最近更新 更多