如何在clojure中添加库?

时间:2015-08-25 21:37:23

标签: clojure

我看到的每个地方都建议我在:dependencies中添加project.clj并运行lein deps。这些下载在哪里?什么是我的CLASSPATH以及如何将我自己的JAR添加到我的clojure项目中?

答案为

  

使用leiningen在maven本地存储库中的依赖性

有点解决了我的需要,我没有把它标记为重复,因为我要求的更简单(作为一个初学者,没有多少Java经验来了解Maven)。我仍然发现很难理解clojure结束的地方和leiningen的开始。

我正在寻找的是像大多数其他语言一样添加库的方法(例如将JAR复制到项目目录并导入代码)。

2 个答案:

答案 0 :(得分:5)

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

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

  

这些是在哪里下载的?

目录位于$HOME/.m2。这是Maven的:http://maven.apache.org/settings.html

  

我的课程路径是什么?

根据您的:dependencies以及:source-paths:resource-paths向量设置类路径。

你可以找到你的类路径:

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
  

如何添加自己的JAR?

请参阅:leiningen - how to add dependencies for local jars?

答案 1 :(得分:0)

从您图书馆的项目目录中运行lein install。 在客户:dependencies中向project.clj添加条目。 确保lib名称/版本及其引用匹配(例如[mylib "0.0.1-SNAPSHOT"])。 希望这有帮助,暂时忘记jar loc和cp。