1
我在混合Clojure/Java環境中進行編程。我使用的是Maven,我的一些依賴項是clojars.org的Clojure庫。提前(AOT)編譯Maven中的Clojure庫
現在,我需要在Java代碼之前對Clojure代碼執行AOT編譯,因爲Java代碼引用了Clojure中定義的記錄。我如何使用Maven和clojure-maven插件實現這一點。
我在混合Clojure/Java環境中進行編程。我使用的是Maven,我的一些依賴項是clojars.org的Clojure庫。提前(AOT)編譯Maven中的Clojure庫
現在,我需要在Java代碼之前對Clojure代碼執行AOT編譯,因爲Java代碼引用了Clojure中定義的記錄。我如何使用Maven和clojure-maven插件實現這一點。
如果命名空間是AOT編譯的,它所需或使用的所有命名空間也將被編譯爲AOT。在Clojure中,通常會有一個頂層的Clojure命名空間,在這種情況下,AOT可以編譯該命名空間。如果你從Java調用Clojure,可能有多個頂級Clojure命名空間,這是一個確定它們是什麼並確保它們都是AOT編譯的問題。由於Clojure不允許任何類型的遞歸依賴,所以名稱空間是否爲頂層並不是一個模糊的問題;頂層命名空間是其他Clojure命名空間不需要或使用的頂層命名空間。