繁体   English   中英

Clojure和lein

[英]Clojure and lein

在lein中有一些触发完全重建的有用方法吗? 我发现很难理解lein如何/何时重新运行/重新加载代码。 更改文件似乎并不总是会导致应用更改,并且手动请求gen-class的重新编译似乎并不总是会生成文件。

手动删除目标目录中的文件并不总是可行,因为即使我重新编译这些文件也不总是会生成,所以我会收到ClassNotFound错误。 我如何让lein在每次调用时正确地重建所有内容?

编辑:我的大部分困惑是由于未在@ juan.facorro的注释中建议的在project.clj文件中使用:aot指令指定使用gen-class创建的类,例如

(defproject 
     ...
      :aot [mytestclass.full.packagename.TestClass1 mytestclass.full.packagename.TestClass2 ]
     ...
    )

这听起来像是一个更大问题的一部分: 缩短Clojure开发周期 一旦您的项目在REPL中愉快地运行(这是第一个目标),就有几件事会真正拖慢开发速度。 例如,更改协议定义要求您查找并重新加载具有该协议实例的每个名称空间。 斯图尔特·塞拉(Stewart Sierra)做了一个很棒的项目 ,就如何设置项目和过程进行了演讲采访 ,以便尽快重新加载所有需要重新加载的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM