Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 您能让leiningen从本地签出的源代码加载库代码吗?_Clojure_Leiningen - Fatal编程技术网

Clojure 您能让leiningen从本地签出的源代码加载库代码吗?

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 有什么方

比方说,我正在入侵我在项目中使用的clojure库:

/用户/SCdF/Code/myproject/
/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
是的,签出是一项仅用于本地开发的功能。这就是为什么您需要在项目依赖项中实际添加库的原因,签出版本比它更受欢迎。因此,在版本控制中忽略它是一个好主意。