【发布时间】:2012-05-17 23:15:16
【问题描述】:
每次我执行 lein new 时,我似乎都会在该项目的 lib 文件夹中获得一份 clojure jar 的副本。我认为 jars deps 被复制到 .m2/repository。为什么每个 lein 项目都复制 clojure jar?
【问题讨论】:
每次我执行 lein new 时,我似乎都会在该项目的 lib 文件夹中获得一份 clojure jar 的副本。我认为 jars deps 被复制到 .m2/repository。为什么每个 lein 项目都复制 clojure jar?
【问题讨论】:
这只发生在 Leiningen 1 中。这样做的原因(我认为)是为了让工具能够轻松地检查依赖关系。使用 Leiningen 2,这不再是一个问题,因为它使用 pomegranate 库(它是 Aether 的包装器)来管理依赖关系。它允许更强大的依赖管理,因此 Leiningen 可以只链接到本地 Maven 存储库中的依赖。
【讨论】:
Jars 缓存在您的 .m2 存储库中。但是,要在您的项目中使用它们,它们需要位于项目的类路径中,通常位于您的 project/lib 目录中。在本地 Maven 存储库中缓存只是为您节省了从服务器下载的时间。
【讨论】: