Clojure 您能让leiningen从本地签出的源代码加载库代码吗?
比方说,我正在入侵我在项目中使用的clojure库: /用户/SCdF/Code/myproject/Clojure 您能让leiningen从本地签出的源代码加载库代码吗?,clojure,leiningen,Clojure,Leiningen,比方说,我正在入侵我在项目中使用的clojure库: /用户/SCdF/Code/myproject/ /User/SCdF/Code/other people projects/clojure library从github克隆 目前,当我在从github克隆的clojure库中进行更改时,我会运行lein install将我的新版本推送到本地存储库(我已经更改了我和他们的项目.clj以指向库的较新-快照版本,因此每次都会更新)然后在myproject上重新启动/运行lein deps 有什么方
/User/SCdF/Code/other people projects/clojure library从github克隆 目前,当我在从github克隆的
clojure库中进行更改时,我会运行lein install
将我的新版本推送到本地存储库(我已经更改了我和他们的项目.clj
以指向库的较新-快照
版本,因此每次都会更新)然后在myproject
上重新启动/运行lein deps
有什么方法可以让leiningen查看从github克隆的。/../clojure库
中的源代码,而不是使用maven和jars,以便在运行时更改代码时可以看到它们?查看leiningen的功能
基本上,您可以在当前项目名为“checkout”的子目录中创建一个指向库目录的符号链接,并将其添加到Leiningen概要文件中。现在,无论何时从Leiningen(REPL,run)启动程序,都会加载该项目
如果您在Windows上,则不需要创建符号链接,而需要将NTFS等效于指向目录(称为“”的目录)的符号链接
请注意,如果您的项目不是通过Leiningen启动的(例如在Eclipse/逆时针模式下),那么这将不起作用。如果从逆时针方向运行,则需要将所需库添加为Eclipse项目,然后编辑自己项目的Eclipse项目属性:在Java Build Path>Projects下,添加库项目
现在,如果您从EclipseRepl开始,该库将包含在java类路径中。但是,如果您希望项目在运行Leiningen时也能正常工作,那么还需要使用签出功能
当然,每当你想独立构建你的程序时,签出方式就不再有效了,你需要将库作为一个普通的依赖项包含进来,或者在你的uberjar中包含一个构建版本。附带问题,这不会让git感到困惑吗?在尼克斯,我想它知道软链接,你可以告诉它不要遵循它们,但NTFS上的连接点基本上不是透明的吗?我想您将签出/
添加到中。gitignore
是的,签出是一项仅用于本地开发的功能。这就是为什么您需要在项目依赖项中实际添加库的原因,签出版本比它更受欢迎。因此,在版本控制中忽略它是一个好主意。