当我部署到clojars时,应该将org.clojure/clojure添加到还是删除到:dependencies?
当我部署到clojars时,org.clojure/clojure应该在:project.clj中的依赖项中添加还是删除当我部署到clojars时,应该将org.clojure/clojure添加到还是删除到:dependencies?,clojure,leiningen,clojars,Clojure,Leiningen,Clojars,当我部署到clojars时,org.clojure/clojure应该在:project.clj中的依赖项中添加还是删除 在下面的教程中,org.clojure/clojure被添加到:project.clj中的依赖项。 一些著名的库(如clj http)中的project.clj不包括 org.clojure/clojure作为依赖项。 在其他著名的库(如ring/ring-core)中的project.clj包含org.clojure/clojure作为依赖项。 哪种方法更好?当您
- 在下面的教程中,org.clojure/clojure被添加到:project.clj中的依赖项。
- 一些著名的库(如clj http)中的project.clj不包括 org.clojure/clojure作为依赖项。
- 在其他著名的库(如ring/ring-core)中的project.clj包含org.clojure/clojure作为依赖项。
哪种方法更好?当您将库部署到Clojars时,通常您将部署一个只包含您自己项目源代码的JAR文件。JAR文件将不包含项目中的任何依赖项。这些将在部署到Clojars的
pom.xml
文件中指定。该pom.xml
文件是由Leiningen在构建JAR文件并将其部署到Clojars时自动生成的
当其他项目依赖于您的库时,他们将从JAR文件中获取代码,附带的pom.xml
将告诉他们使用您的代码还需要哪些库。Leiningen从Clojars下载完您的库后,会自动下载其他库
因为所有这样的项目都需要Clojure自己来运行它们,所以它们已经依赖Clojure了——所以不管您的项目是否依赖Clojure。这忽略了Java程序依赖Clojure库的可能性。所有Clojure项目都应该明确依赖于
org.Clojure/Clojure
,因为它们实际上依赖于它来运行。谢谢您的回答。我理解你的答案是没有区别,因为每个想运行我的库的人都有org.clojure/clojure本身。从您的答案来看,删除依赖项中的org.clojure/clojure似乎更好。因为如果我在:dependencies中删除org.clojure/clojure,使用不同clojure版本的人可以使用我的库。(可能,我必须在:dependencies中指定clojure版本)对吗?谢谢你,amalloy。我理解你的评论。