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
如何在clojure中添加库?_Clojure - Fatal编程技术网

如何在clojure中添加库?

如何在clojure中添加库?,clojure,Clojure,无论我看到什么地方,都建议我在project.clj中添加:dependencies,并运行lein-deps。这些文件在哪里下载?什么是我的类路径,如何将自己的JAR添加到clojure项目中 而答案是 maven本地存储库与leiningen的依赖关系 在某种程度上解决了我的需要,我并没有将其标记为重复,因为我所要求的要简单得多(作为一个初学者,没有太多Java经验来了解Maven)。我仍然很难理解clojure从哪里结束,leiningen从哪里开始 我一直在寻找一种添加库的方法,就像我们

无论我看到什么地方,都建议我在
project.clj
中添加
:dependencies
,并运行
lein-deps
。这些文件在哪里下载?什么是我的
类路径
,如何将自己的JAR添加到clojure项目中

而答案是

maven本地存储库与leiningen的依赖关系

在某种程度上解决了我的需要,我并没有将其标记为重复,因为我所要求的要简单得多(作为一个初学者,没有太多Java经验来了解Maven)。我仍然很难理解clojure从哪里结束,leiningen从哪里开始


我一直在寻找一种添加库的方法,就像我们在大多数其他语言中所做的那样(例如,将JAR复制到项目目录并导入代码)。

这是一个很好的问题,因为它一点也不清楚。Leiningen通常是一个黑洞,如果某些东西不起作用,调试往往很困难

我最近不得不做一些手动脚本编写,leiningen确实可以帮助您找到这些东西

这些文件在哪里下载

目录位于
$HOME/.m2
中。这是Maven的:

我的类路径是什么

类路径的设置取决于
:依赖项
以及
:源路径
:资源路径
向量

您可以这样找到您的类路径:

lein classpath
这将根据您的配置打印一个巨大的列表

例如,您可以运行一个脚本:

    java -cp cljs-1.7.xx.jar:scripts:$(lein with-profile +dev-cljs classpath) clojure.main scripts/cljs-build.clj dev
可以访问所有项目依赖项并正确加载它们

尽管您可以使用
lein run
实现类似的功能:

lein with-profile +dev-cljs run -m clojure.main scripts/cljs-build.clj dev
如何添加自己的罐子


请参阅:从库的项目目录运行
lein install
。 在客户的
项目.clj
中的
:依赖项中添加一个条目。
确保库名称/版本及其引用匹配(例如
[mylib“0.0.1-SNAPSHOT”]
)。
希望这能有所帮助,暂时忘掉jar loc和cp。

您的类路径是由Leiningen动态设置的。如果您试图手动设置它,那么您就做错了。(文件的位置取决于您的Maven配置,但默认情况下,它们将位于
~/.m2/repo
)……您也不必为
lein deps
而烦恼。无论何时运行任何
lein compile
、或
lein repl
、或
lein uberjar
、或其他目标,所有适当和必要的内容都将为您提供……至于如何添加您自己的JAR,普遍接受的方法是创建您自己的Maven存储库。这在其他地方有很好的记录,包括在之前的问答中。也许这是重复的?