欢迎!请查看关于页面了解该系统的工作方式。
你好,我想询问Cljure应用程序插件系统的最佳实践。
这里的插件系统指的是第三方编写的可以由Cljure应用程序加载并作为插件使用的Cljure代码结构或协议,且不需要重新编译应用程序。
一个例子是,设计一个Cljure应用程序来加载和转换某些数据集。它应该允许第三方编写可以部署到特定文件夹并加载到转换管道中的插件。应用程序不需要重新编译。
这样做有最佳实践吗?
希望这将采用Cljure的方式而不是Java的方式。
提前感谢。
您可以将“插件”(jar文件)放在类路径上,解析一个表示由“插件”提供的功能的符号,并对其进行调用。
鉴于您无论如何都需要编译Clojure,因此没有必要“重新编译”。
(编辑:还需要require函数的命名空间,以便在解析符号之前让Clojure加载函数。)
require