如何在clojure中添加库?

dat*_*k3r 3 clojure

我到处都看到,有人建议我加:dependenciesproject.clj和运行lein deps.这些下载在哪里?什么是我的CLASSPATH,我怎样才能将自己的JAR添加到我的clojure项目中?

虽然答案是

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

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

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

Clo*_*tly 5

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

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

这些下载在哪里?

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

我的课程路径是什么?

类路径是根据您:dependencies以及您:source-paths:resource-paths矢量设置的.

你可以找到你的类路径:

lein classpath
Run Code Online (Sandbox Code Playgroud)

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

你可以 - 例如 - 然后运行一个脚本:

    java -cp cljs-1.7.xx.jar:scripts:$(lein with-profile +dev-cljs classpath) clojure.main scripts/cljs-build.clj dev
Run Code Online (Sandbox Code Playgroud)

这可以访问所有项目依赖项并正确加载它们.

虽然你可以lein run用来实现类似的东西:

lein with-profile +dev-cljs run -m clojure.main scripts/cljs-build.clj dev
Run Code Online (Sandbox Code Playgroud)

如何添加自己的JAR?

请参阅:leiningen - 如何为本地jar添加依赖项?