[英]Reload a Java class in Clojure
我有興趣在 Clojure 中重新加載 Java class,例如在 REPL 中。
如果一個Java class之前已經加載使用過,之后又改了重新編譯,是否可以重新加載新更新的class?
我已經進行了一些搜索(例如, clojure class 重新加載如何工作? ),但我還沒有找到明確的方法。
謝謝。
您可以使用修改后的 JVM 與 Clojure 一起使用來完成此操作, DCEVM 。 我做了一個小項目來演示如何設置它。 當更新這些類時,DCEVM 將在正在運行的 JVM 進程中自動重新加載 Java 類。 DCEVM 的好處是您不必為此付費。 DCEVM 似乎大部分時間都在工作,但並非總是如此。 有時我必須重新啟動 REPL 才能加載新的類。
在使用 DCEVM 之前,我嘗試了 JRebel 。 就像 DCEVM 一樣,JRebel 也會重新加載 Java 類。 根據我的經驗,JRebel 的工作比 DCEVM 可靠得多,但不幸的是,它的購買成本相當高。 不過,您可以在有限的時間內免費試用。
更新:我也找到了這個答案,這似乎與我寫的關於 DCEVM 與 JRebel 的內容非常一致。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.