【发布时间】:2017-01-15 07:24:41
【问题描述】:
我看到很多地方 Clojure 项目中的一些依赖项都标有:scope "provided" (example)。
什么意思?
【问题讨论】:
-
您可以阅读有关 maven 范围的信息,因为它是同一回事。 stackoverflow.com/questions/6646959/… 据我所知,如果您在项目中使用此库,您还应该将这些依赖项与库本身一起添加到您的 project.clj 中(我仍然可能会弄错)
-
您还可以使用其他一些作用域:maven.apache.org/guides/introduction/…
-
@leetwinski 谢谢,现在似乎很清楚了。顺便说一句,有什么理由使用
:scope "test"而不是:test个人资料吗? -
这里的原因也是为了防止传递依赖到特定版本(例如clojure)。在那个庄园这里使用它,因为图书馆作者不想污染lib用户的项目。
-
我已经阅读了类似@leetwinski 链接的问题的答案,但我仍然对决定使用什么范围作为我的依赖项感到不舒服,尤其是当我' m 使用Boot。如果有人针对这个专门针对 Clojure 的问题发布了一个很好的答案,并讨论了如何为不同类型的项目做些什么,我会给它一个赏金。