SCd*_*CdF 14 clojure leiningen
假设我正在攻击我在项目中使用的clojure库:
/ user/SCdF/Code/myproject/
/User/SCdF/Code/other-peoples-projects/clojure-library-cloned-from-github
目前,当我做出改变clojure-library-cloned-from-github我然后运行lein install到我的新版本推到本地仓库(我已经改变了我和它们project.clj指向一个新-SNAPSHOT库的版本,因此它得到每一次更新),然后重新启动/运行lein deps上myproject.
有没有办法告诉leiningen查找../../clojure-library-cloned-from-github库的源代码而不是使用maven和jar,这样当我对代码进行更改时,他们会在运行时看到它们?
Nie*_*lsK 18
查看Leiningens 结账依赖项功能.
基本上,您在当前项目的名为"checkouts"的子目录中创建了一个指向库目录的符号链接,并将其添加到您的Leiningen配置文件中.现在,无论何时从Leiningen(REPL,run)启动程序,该项目都会被加载.
如果您使用的是Windows,而不是创建符号链接,则需要使NTFS等效于指向目录的符号链接,称为" 连接点 ".
如果您的项目实际上并未通过Leiningen启动(例如在Eclipse/CounterClockWise中),请注意这不起作用.如果从CounterClockWise运行,则需要将所需的库添加为Eclipse项目,然后编辑自己项目的Eclipse项目属性:在Java Build Path> Projects下,添加库项目.
现在,如果从Eclipse REPL开始,则库将包含在java类路径中.但是,如果您希望项目在通过Leiningen运行时也可以使用,则还需要使用checkout功能.
当然,每当你想要独立构建你的程序时,结账方式将不再起作用,你需要将库作为普通依赖项包含在内,或者在你的uberjar中包含一个内置版本.