Clojure:core:将加载文件分为两个步骤 问题

Clojure:core:将加载文件分为两个步骤 问题,clojure,Clojure,是否可以将加载文件分为两个步骤: (1) compile and (2) load ? 上下文 我正在将热代码重新加载到远程机器。我不想把源代码发送到机器上,然后机器加载文件。相反,我想将一个*.class文件发送到机器上,让机器用*.class重新加载名称空间 因此,我想要一种方法: (1) transform *.clj files to *.class files that can be hot-reloaded 及 编辑 我也非常乐意使用(require:reload…)——同样,只

是否可以将加载文件分为两个步骤:

(1) compile and
(2) load ?
上下文 我正在将热代码重新加载到远程机器。我不想把源代码发送到机器上,然后机器加载文件。相反,我想将一个*.class文件发送到机器上,让机器用*.class重新加载名称空间

因此,我想要一种方法:

(1) transform *.clj files to *.class files that can be hot-reloaded

编辑 我也非常乐意使用(require:reload…)——同样,只要我能为它提供一个*.class文件而不是我的*.clj文件

谢谢

简短回答:

  • 在本地计算机上,使用将clojure源代码编译为.class文件
  • 上传到你的远程服务器
  • 用于(重新)加载名称空间
  • 在源代码中,您应该使用
    require
    替代,或者
    load file
    ,特别是出于这个原因。在运行时,您无法确定名称空间是否来自源文件,即编译后的二进制文件。

    简短回答:

  • 在本地计算机上,使用将clojure源代码编译为.class文件
  • 上传到你的远程服务器
  • 用于(重新)加载名称空间
  • 在源代码中,您应该使用
    require
    替代,或者
    load file
    ,特别是出于这个原因。在运行时,您无法确定名称空间是否来自源文件,即编译后的二进制文件

    (2) I need to be able to call remove-ns on them later (when they have to be replaced)