2012-06-10 25 views
8

如果我切換:Leiningen(Ver。2)中的警告反射,我不僅會收到當前項目的警告,還會收到依賴關係的警告。 (例如,即使我稱之爲「lein help」,它也會例如警告關於線索的反射 - leiningen本身的依賴性。)Leiningen,:警告反思。僅限當前項目

由於這些項目超出了我當前的範圍,我想要限制只對當前項目發出警告。這是可能的,以及如何?

回答

2

Clojure命名空間編譯是可傳遞的。請參閱:Transitive AOT Compilation

解決辦法,結賬克呂西和:

→ lein compile :all 
→ lein install 

所以Clojure的編譯器將跳過克呂西的編譯,因爲類文件已經存在。

3

您可以簡單地在你的 「主」 .clj文件的頂部添加

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

。用於外部代碼的userequire之後,但在您自己的代碼的require和/或load語句之前。

+0

這在實踐中很棘手,對吧?你把它放在'ns'形式之前?或之後? –

+0

@DavidJames不幸的是,需要將'ns'形式分割成真正的'ns',以便外部的東西,然後是'set!',接着是一堆'require'和'use'調用內部的東西。 – dimagog