簡體   English   中英

在 Clojure 中重新加載 Java class

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM