如果我切換:Leiningen(Ver。2)中的警告反射,我不僅會收到當前項目的警告,還會收到依賴關係的警告。 (例如,即使我稱之爲「lein help」,它也會例如警告關於線索的反射 - leiningen本身的依賴性。)Leiningen,:警告反思。僅限當前項目
由於這些項目超出了我當前的範圍,我想要限制只對當前項目發出警告。這是可能的,以及如何?
如果我切換:Leiningen(Ver。2)中的警告反射,我不僅會收到當前項目的警告,還會收到依賴關係的警告。 (例如,即使我稱之爲「lein help」,它也會例如警告關於線索的反射 - leiningen本身的依賴性。)Leiningen,:警告反思。僅限當前項目
由於這些項目超出了我當前的範圍,我想要限制只對當前項目發出警告。這是可能的,以及如何?
Clojure命名空間編譯是可傳遞的。請參閱:Transitive AOT Compilation
解決辦法,結賬克呂西和:
→ lein compile :all
→ lein install
所以Clojure的編譯器將跳過克呂西的編譯,因爲類文件已經存在。
您可以簡單地在你的 「主」 .clj文件的頂部添加
(set! *warn-on-reflection* true)
。用於外部代碼的use
和require
之後,但在您自己的代碼的require
和/或load
語句之前。
這在實踐中很棘手,對吧?你把它放在'ns'形式之前?或之後? –
@DavidJames不幸的是,需要將'ns'形式分割成真正的'ns',以便外部的東西,然後是'set!',接着是一堆'require'和'use'調用內部的東西。 – dimagog